- 博客(9)
- 资源 (8)
- 收藏
- 关注
原创 MSI无法安装疑难一例
故障描述 :网上有许多MSI类型无法安装的故障解决,我的可能较为特殊,Windows Installer服务启动没有问题,但执行MSI文件后会自动停止服务,随后出现“Windows Installer服务无法访问”之类的信息,无论是重新安装Windows Installer 3.1,还是安装InstMsiW.exe,均无法解决。操作系统:Windows XP Pro 解决方案:
2009-07-26 00:47:00 2492 1
原创 模拟CTRL+C
keybd_event(VK_CONTROL, 0, 0, 0); keybd_event(Byte(C), 0, 0, 0); keybd_event(Byte(C), 0, KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); Delphi 键盘码表
2009-07-23 22:16:00 1452
转载 Are you looking for a way to get the entire text of a word document into a RichEdit without using the Clipboard?
Are you looking for a way to get the entire text of a word document into a RichEdit without using the Clipboard? Here you go: Answer:The Word Document object supports the IDataObject Interface. To
2009-07-22 21:46:00 810
原创 PostMessage和SendMessage的区别
PostMessage只是把消息放入队列,不管其他程序是否处理都返回,然后继续执行; SendMessage必须等待其他程序处理消息后才返回,继续执行。 PostMessage的返回值表示PostMessage函数执行是否正确; 而SendMessage的返回值表示其他程序处理消息后的返回值。 使用这两个发送消息函数的最重要的是要看你的程序是否要对消息的滞后性关注否,Post
2009-07-22 21:27:00 569
转载 Delphi 中的消息钩子函数和Windows子类处理
首先我们先看一下安装HOOK的函数:HHOOK SetWindowsHookEx(int idHook,//要安装的HOOK的类型HOOKPROC lpfn, //HOOK的回调函数HINSTANCE hMod,//进程DWORD dwThreadId //程序的线程,如果为0则是全局HOOK);熟悉了SetWindowsHookEx函数,我们就能开始我们的工作,挂钩进程。首先打开Delp
2009-07-21 16:35:00 1389
转载 Delphi窗体间发送消息或字符串
在Delphi 开发中,常常应用到窗体消息传递,以达成某种操作要求,以下列举一个应用的例子,供大家参考。 自定义过程/函数方法://发送字符串到指字句柄的窗口中 (接收窗体需用发送时的消息常量WM_COPYDATA)procedure SendMessageData(AHandle: THandle; AStr: String);var sData: TCopyDataStru
2009-07-19 22:43:00 7380
转载 浅谈Delphi中进程间的数据共享
DLL是创建Windows应用程序,实现代码重用的重要手段。那么当我们需要在进程间共享数据时,怎样做才能快捷方便地实现呢?在32位应用系统中,每个应用程序会将DLL映射到自己的地址空间,同时DLL中的数据也就随之被映射了。这样,每个应用程序都有自己的数据实例,在一个应用程序中修改DLL中的全局变量,不会影响其它的应用程序。DLL的使用似乎与我们的目的相背离,那么如何才能实现我们想要的东
2009-07-19 22:33:00 1066
转载 Select中DISTINCT关键字的用法
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会
2009-07-16 15:59:00 414
转载 TStringList 常用操作
//TStringList 常用方法与属性:var List: TStringList; i: Integer;begin List := TStringList.Create; List.Add(Strings1); {添加} List.Add(Strings2); List.Exchange(0,1); {置换} List.In
2009-07-04 22:40:00 607
SoftSnoop 1.3
2008-08-25
Visual Studio, Microsoft Portable Executable and Common Object File Format Specification
2008-08-25
任远阅读器
2007-09-08
千变桌面1.2
2007-03-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人