Delphi Services 里面Findwindow 问题
老产品维护问题,
Delphi 版本:delphi6
如果新建一个Application,
用一下Code可以获得正确的Handle
Delphi(Pascal) code:
procedure TForm1.Button1Click(Sender: TObject);
var
EVMHandle:HWND;
EVMTitle: String;
begin
EVMHandle:=FindWindow(nil,'console');
Showmessage(inttostr(EVMHandle));
end;
但如果写一个delphi service application,
返回的handle值一直是0
Delphi(Pascal) code:
procedure TSvcChkHandle.ServiceStart(Sender: TService;
var Started: Boolean);
var
EVMHandle: HWND;
begin
try
Coinitialize(nil);
EVMHandle:=FindWindow(nil,'console');
Writelog(inttostr(EVMHandle));
Started := True;
except
On E: Exception do LogMessage(E.Message);
end;
end;
console 是我一个应用程序的窗口标题
在线等,谢谢
有没有什么方法在service里面可以检查某一个应用程序是否在运行?
老的产品在service里用Findwindow 来判断应用程序是否运行,怀疑是否windows2000里面可以
,但XP或者更高版本有问题,我在网上查到很多类似问题,但还没有解决我目前问题的方法。
谢谢关注,请继续支招。
可以用 psapi 单元的 EnumProcesses 或者 toolhlp 单元的 CreateToolhelp32Snapshot, Process32First, Process32Next 来定
相关问答:
我在模块里自定义了一个函数:stradd()
可是在adoquery1.sql.add('select stradd(author) from book');
时提示stradd未定义...
这个问题有什么办法可以解决的吗? 非常感激!
(在A ......
delphi 异步线程怎么怎么实现?
请各位大佬帮忙!
最好有个实例!
多谢
你不同步就是异步了,还写啥
默认情况下,线程就是异步的…………*^_^*
估计楼主同步和异步概念都没弄清
真无语。。可 ......
两个月前,开始招聘Delphi程序员,招聘前随手写了几道题,用来笔试。
到现在还没有招到人,很无奈,标准甚至降到只要能做第1、3、5题就录用的水平。结果竟然没有人能够将这3题都答对。很多人连str ......
哥们,弟们,姐们,妹们, 请问谁有用delphi打包工具的?
从网上下载的要么安装不了,要么没使用说明文档。给推荐下?
不要告诉我 installshield for D7
up
bs sf
End_rbody_59866840//- ......
我用delphi调用一个VC++的dll
这个dLL我没有源码。大小写绝对正确
dll里面的一个CloseCommPort函数,dll说明说里面有,说明如下:
5、CloseCommPort
VOID PASCAL CloseCommPort(HANDLE hCom) ......