首先,你肯定知道你要运行的程序的主窗体类名和标题, 这样来做: 首先使用FindWindow查找这个程序有没有在执行,如果 已执行,刚使用SetForegroundWindow把它放在最前面,否则,使用ShellExecute来执行它,如下: var Hdl:THANDLE; begin Hdl := FindWindow('类名','窗体标题'); if Hdl <> Null then begin SetForegroundWindow(Hdl); end else begin //ShellExecute(); end; end;
这样来做:
首先使用FindWindow查找这个程序有没有在执行,如果 已执行,刚使用SetForegroundWindow把它放在最前面,否则,使用ShellExecute来执行它,如下:
var
Hdl:THANDLE;
begin
Hdl := FindWindow('类名','窗体标题');
if Hdl <> Null then
begin
SetForegroundWindow(Hdl);
end
else
begin
//ShellExecute();
end;
end;
先用EnumWindows得到桌面上所有窗口句柄,
再用GetClassName根据句柄得到类名