关于shellexecute问题 如果已经打开了一个程序 当再次点击的时候 如何唤起已经打开的实例而不是重新再起一个如果用shellexecute打开应用程序 ,已经打开了该应用程序后。当下一次执行的时候不让他重新再开一个 而是把刚才打开的程序弹起来 用什么办法?
解决方案 »
- 用dbgrideh如何做客户录入单据界面
- Dbgrid中所选择的多行记录进行批量修改
- 难办的问题!
- 我在datamodule里放了一个StoredProc,在AfterScroll事件里想清空某一个窗体的edit和combobox,该怎样写呢?
- 再请教一个关于引用别的程序窗口的问题!谢谢大家!
- 帮我安装外部VCL,谢谢!
- 同样的贴子分别发在delphi和vc++论坛,却反映不一样!大家看看~
- Win32下如何编程"直接"控制CDROM?
- TBitmap为何不能加载成功?
- 请问如何设置cxGrid字段居中显示
- 如何把 DBGrid 控件的的容用SQL语句添加进一张数据库表里面,谢谢~!
- 谁有图象处理原码
--------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
H:HWND;
begin
shellexecute(handle,'open','calc.exe',nil,nil,sw_shownormal);
H:=FindWindow(nil,'计算器');
if H>0 then
begin
showmessage('ok');
SetActiveWindow(H);
end;
end;
第二个参数是标题名。
试试
H:HWND;
begin
H:=FindWindow(nil,'计算器');
if H>0 then
begin
SetActiveWindow(H);
SetForegroundWindow(H);
end
else
shellexecute(handle,'open','calc.exe',nil,nil,sw_shownormal);end;