WINCC 脚本使用按钮做系统登陆对话框,怎么使弹出的对话框自动获得焦点?

WINCC 脚本使用按钮做系统登陆对话框,怎么使弹出的对话框自动获得焦点?使用函数,C语言

第1个回答  2013-12-21
第一步:备份文件关机时的弹出对话框C:\Windows\System32\msgina.dll 要用ResHacker替换20140——20150的位图。注销时的弹出对话框C:\Windows\System32\Shell32.dll 替换14351——14356的位图。替换时注意要相同大小和格式的BMP文件位图号: 14354 背景14355 微软标志 14356 按钮,顺序为:正常 | 鼠标按下 | 鼠标悬停关机画面文件是:系统目录\WINDOWS\system32\MSGINA.DLL对话框号:20100,在这里修改对话框的大小,按钮的位置等等~位图号: 20142 背景图 20143 微软标志图 20150 按钮,顺序为:正常 | 鼠标按下 | 鼠标悬停一如前述,任何修改的第一步手续就是备份文件。这里所需备份的文件是msgina.dll(关机画面)和shell32.dll (注销画面)。ps:有时在根目录中搜索,找不到的,要到该文件夹上找的.第二步:准备软件这个例子里我们需要的是Resource Hacker(文件编辑)和Replacer(文件替换)第三步:编辑文件打开你的Resource Hacker,对于关机画面,打开文件%windir%\system32\msgina.dll,我们可修改的有以下几项:CODE对话框号:20100,这里可以修改大小,位置,名称...等等位图号:20142 背景图20143 微软标志图20150 按钮图,位图顺序为:正常 鼠标按下 鼠标悬停以按钮为例,在Resource Hacker左侧栏内展开"位图",展开"20150",选中"1031",这时你就会在右栏内看到关机画面的按钮了。你可以在菜单"操作"选择"保存(s)[位图:20150:1030]",然后编辑。这里我们选用"操作->替换位图(B)...",然后用附件内提供的位图替换。其他的位图相同操作,全部改完后,选择菜单"文件->保存为(A)..."(这里使用保存是不起作用的,因为我们编辑的是正在使用的文件,稍后我们会用Replacer进行替换)。对于注销画面,对应文件%windir%\system32\shell32.dll,修改如下:CODE对话框号:1089,这里可以修改大小,位置,名称...等等位图号:14354 背景图14355 微软标志图14356 按钮图,位图顺序为:正常 鼠标按下 鼠标悬停如果你修改了对话框(这会修改画面的布局,你甚至可以删除按钮等部件!),要记得按一下Resource Hacker上的"编译脚本"按钮。第四步:替换文件现在运行你下载的Replacer(将下载的包解压到一个文件夹里,运行replacer.cmd),用explorer找到% windir%\system32\msgina.dll将其拖到replacer.cmd的运行窗口上,然后回车,再找到你刚才编辑好的msgina.dll将其拖到replacer.cmd的运行窗口上回车,这时replacer会提示是否确认替换,敲入"Y"并回车。OK,等待replacer自动退出就可以了。 ;第五步:检验结果到了看看成果的时候了,刚才的replacer可能会提示你要重新启动,确实有些的修改需要你重启(如shell32.dll),但大多情况下我们不需要这样做。一个好办法是:Ctrl-Alt-Del启动你的项目管理器,在进程列表里找到explore r.exe并杀之(呵呵,桌面没了!),然后用项目管理器里的"新建项目..."运行explorer.exe就可以了。