如何使其他程序作为当前窗口(100分)

  • 主题发起人 主题发起人 crescent
  • 开始时间 开始时间
C

crescent

Unregistered / Unconfirmed
GUEST, unregistred user!
在98中运行程序,想激活另外一个程序,并使之作为当前操作窗口.可是激活的程序没有输入焦点,只在状态条上有闪烁提示,需要用鼠标单击选取.
用过bringtofront,showwindow,application.restroe,都不行
请教方法
 
试一下 SetFocus( HWND hwnd // 窗口句柄
);
 
好象与有无焦点没关系,你还可以用 SetForegroundWindow(hwnd)试试.
 
用shellexecute可以
 
补充两句
实际应该是如何使一个已经运行的程序作为当前窗口,并获得焦点.
 
这个问题我以前曾经回答过,应该这样:
procedure TForm1.Button1Click(Sender: TObject);
var
wnd :HWND;
begin
//找到应用程序的窗口的句柄
wnd := FindWindow(nil,'新建文字文档.txt - 记事本');
if wnd <>0 then
if isiconic(wnd) then
ShowWindow(wnd,sw_restore)
else
SetForegroundWindow(wnd)
else
showmessage('no such window');
end;
 
多人接受答案了。
 

Similar threads

后退
顶部