现在有一程序需要做成Service Application的形式 设定为服务
但程序需要与一DLL进行消息通讯 也就是说要接收来自这个DLL的消息做成一般的Application的时候可以正常相应 但Service Application没有WndProc的麻烦各位老大帮忙看看 最好给个小例子
但程序需要与一DLL进行消息通讯 也就是说要接收来自这个DLL的消息做成一般的Application的时候可以正常相应 但Service Application没有WndProc的麻烦各位老大帮忙看看 最好给个小例子
解决方案 »
- case语句写法,错误信息为 Constant expression expected,要如何修改
- D7画图
- 【提问】请问procedure里面声明的变量,是局部变量吗?
- telnet的问题?命令分开发送可以,一次发送不行?
- 诚心请教高手帮我解决一个关于<delphi>开发问题
- 问一下简单的 数据库设计问题,来者有分
- 动态生成CheckBox控件,如何在界面上显示出来?,定义如下,请参考,谢谢~~
- 懂获得文件名的请进来拿分
- 简单问题,谢了
- 请问各位:将货币类型的值转换成整型的函数是...
- delphi7的主菜单能用其自带的控件做出来吗?
- 请问 如何 用代码 释放 某一个控件 对鼠标的捕捉 ?????????????
用SendMessage发送消息给窗体,在窗体里有WndProc
方法二、自己写一个消息循环,用GetMessage/PeekMessage检测消息
用PostThreadmessage发送线程消息具体做法可以看看这篇帖子
http://www.delphibbs.com/delphibbs/dispq.asp?lid=105410
Windows, Classes, Messages;type
TMyThread = class(TThread)
public
class function Create: Cardinal;
protected
procedure Execute; override;
end;{ TMyThread }class function TMyThread.Create: Cardinal;
begin
with inherited Create(false) do
begin
FreeOnTerminate:=true;
Result:=ThreadID;
end;
end;{ TMyThread }procedure TMyThread.Execute;
var
Msg: TMsg;
begin
while GetMessage(Msg, 0, 0, 0) do
WriteLn(Msg.message);
end;var
ThreadID: Cardinal;
i: integer;
begin
ThreadID:=TMyThread.Create;
Sleep(0); //给一点时间创建线程
for i:=0 to 9 do
PostThreadMessage(ThreadID, i, 0, 0);
PostThreadMessage(ThreadID, WM_QUIT, 0, 0); //结束消息循环(线程也销毁了)
ReadLn;
end.