您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Delphi >> 一个很奇怪的问题,在Delphi里编译可运行的程序不能直接用EXE运行

一个很奇怪的问题,在Delphi里编译可运行的程序不能直接用EXE运行

来源:网络整理     时间:2016/8/25 23:19:30     关键词:

关于网友提出的“ 一个很奇怪的问题,在Delphi里编译可运行的程序不能直接用EXE运行”问题疑问,本网通过在网上对“ 一个很奇怪的问题,在Delphi里编译可运行的程序不能直接用EXE运行”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 一个很奇怪的问题,在Delphi里编译可运行的程序不能直接用EXE运行
描述:

具体情况为:
程序中有2个函数:SendMessage()和keybd_event(),将消息和键盘事件传给1个窗口.在delphi里编译运行没有任何问题,事件都传过去了.
不关闭,注意是不关闭delphi,直接点击编译好的exe文件,这2个事件都没有任何反应.不知道是什么原因.
整个过程中:环境没有改变,还是在本机,delphi也没有关闭.唯一的区别就是一个是delphi编译执行的,一个是直接运行exe


解决方案1:

SendMessage(hw, WM_SYSCOMMAND, SC_HOTKEY, hw); //这个样子并没有使记事本成为输入窗口。
                                               //你自己的窗口才拥有输入焦点
keybd_event(Ord('A'), MapVirtualKey(Ord('A'), 0), 0, 0); //记事本当然不能响应按键
需要在发送消息之前先让所有的窗口失去输入焦点,或者将记事本窗口置为最前面的窗口。

解决方案2:

问题可能出在SendMessage上,你的pchar是怎么用的,是pchar(string)还是定义pchar再用getmem还是chr:Array[0..255] Of char等等
换其它的方式试试,或不用getmem而用AllocMem
以前碰到的一个问题有点像你的

解决方案3:

其实什么都用不到
那样你根本得不到文件的句柄
所以一点反映都没有


以上介绍了“ 一个很奇怪的问题,在Delphi里编译可运行的程序不能直接用EXE运行”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3593151.html

相关图片

相关文章