----赖格英-----

记忆不好了,记录工作中的点点滴滴....

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年8月18日

摘要: 电脑上同时安装了Office 2003和Office 2007/2010,先打开Word 2003,然后再打开Word 2010,总会弹出安装配置界面,反之亦然。解决方法:使用快捷键Win+R打开“运行”窗口,分别将下面两条命令复制到输入栏中,回车。经证实有效,但在windows8下似乎无效。命令1(用于Office 2003):reg add HKCU\Software\Microsoft\Office\11.0\Word\Options /v NoReReg /t REG_DWORD /d 1命令2(用于Office 2007):reg add HKCU\Software\Microsof 阅读全文
posted @ 2013-08-18 18:00 向北方 阅读(5796) 评论(0) 推荐(0) 编辑

摘要: 在编写Delphi的应用程序中,常常涉及对其它Windows应用程序的操作。例如,在数据库的管理系统中,财务人员需要使用计算器,即可调用Windows内含的计算器功能,若每次使用,均通过“开始/程序/附件/计算器”来打开计算器,显然是非常繁琐的,当然可以考虑在桌面上建立一“计算器”的快捷方式,且定义一热键,需要使用计算器时,就按下这个热键来打开“计算器”。但由于“计算器”是一个“非模式”窗口程序,即每运行一次计算器,就会打开一个“计算器”窗口,这样的结果是桌面上出现了几十个“计算器”,不仅大量增加了系统内存的开销,而且也不方便用户的操作。在Delphi中可较轻易地控制,效果非常完美。下面就两个 阅读全文
posted @ 2013-08-18 15:02 向北方 阅读(2025) 评论(0) 推荐(0) 编辑

摘要: 看你要做什么,比较现在网络很流行的QQ、MSN这些软件都屏蔽了,你可能还可以访问一些小软件的这些控制,思路及方案如下(API函数自己去百度查一下)1.得到你要这个窗口的句柄 使用FindWindow2.利用枚举函数EnumChildWindows把这个窗口里的所有文本框、按钮找到,并得到其句柄,EnumChildWindows需要一个回调函数,你可以在回调函数中把模拟输入,单击双击这些操作加上去3.在回调函数里,其实就是向你找到的按钮或文本框发送消息消息说明:比如得到文本框中的文字消息:WM_GETTEXT设置文本框的文字消息:WM_SETTEXT鼠标左键单击WM_LBUTTONDOWN必须与 阅读全文
posted @ 2013-08-18 14:55 向北方 阅读(4398) 评论(0) 推荐(0) 编辑

摘要: 向其他程序发送模拟按键:1、用keybd_event:varh : THandle;beginh := FindWindow('TFitForm', '1stOpt - [Untitled1]');SetForegroundWindow(h);keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);keybd_event(VK_F9, MapVirtualKey(VK_F9, 0), 0, 0);keybd_event(VK_F9, MapVirtualKey(VK_F9, 0), KEYEVENT 阅读全文
posted @ 2013-08-18 14:47 向北方 阅读(10639) 评论(0) 推荐(0) 编辑

摘要: 回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以随时按照你提供的地址调用这个函数通知你,并按照预先规定好的形式传递参数。所以很多人打比方,说回调函数还真有点像您随身带的BP机:告诉别人号码,在它有事情时Call您!所以一个回调函数写出来之后,一定有个注册的动作,就是告诉调用者,你怎么样找到我写的函数。某些Windows API 函数会要求以回调函数地址作为其参数之一,例如SetTimer 、LineDDA 、EnumObjects,以及我们下面要用到的EnumWindows。在Delphi里声明一个回调函数的格式 阅读全文
posted @ 2013-08-18 14:46 向北方 阅读(2133) 评论(0) 推荐(0) 编辑

摘要: 很多情况下,我们需要在程序中实现这样的功能:在自编写的程序里控制另外一软件中的某个按钮被按下。比如,有一天你在聊QQ时觉得烦了,那么就想写程序来帮你按下“发送”按钮,省得你自己一次次动手了。那么,这个想法怎样才能实现呢?其实做法很简单,它只用两条Windows消息就能实现了。(当然,前提是你必须知道那个按钮的handle。我想这个对一般程序员来说简直是小菜一碟)这两条消息分别是:WM_LBUTTONDOWN和WM_LBUTTONUP。下面我给出一个简单的实例说明用法:procedure TForm1.Button1Click(Sender: TObject);var btnHandle: HW 阅读全文
posted @ 2013-08-18 14:36 向北方 阅读(482) 评论(0) 推荐(0) 编辑

摘要: 通过修改注册表,可以达到修改双系统启动菜单的目的,方法是在注册表编辑器中,找到HKEY_LOCAL_MACHINE—BCD00000000,右击Objects,找到位置:{466f5a88-0af2-4f76-9038-095b170dc21c}—Elements—12000004,鼠标右击,在菜单中找到“权限”,在打开的窗口中,选中你的登陆账户,勾选“完全控制”,然后在{466f5a88-0af2-4f76-9038-095b170dc21c}—Elements—12000004,对其内容进行修改,即可,这是WinXP的。Win8的修改位置在{b890df32-afd7-11e1-8c96- 阅读全文
posted @ 2013-08-18 09:59 向北方 阅读(1022) 评论(0) 推荐(0) 编辑