计算机上的一个应用程序,如Notpad(.exe),让它无法被启动,如何做到?
计算机上的一个应用程序,我想让它不可用。如何通过编程让NOTEPAD准备启动的消息先行截获?有办法吗?谢谢。 问题点数:50、回复次数:4Top
1 楼xiaozuo(小卓)回复于 2000-10-27 20:20:00 得分 50
若想完全实现这个功能,那么只能在NT中设置权限,或者更改API函数。在Win9x中只能采用折衷的方案,要牺牲一些系统资源。你可以编一个带有100ms(当然你可以合理选取其它值)定时器的程序并让它首先运行,然后通过定时器中断,利用函数CWnd::FindWindow(cClassName,cWndName)来检查所有正在运行的程序名称中是否有Notepad,若成功返回CWnd的指针pWin,即刻用pWnd ->SendMessage(WM_CLOSE)强行终止它的运行。Top
2 楼Dowinit(威威)回复于 2000-10-27 20:51:00 得分 0
首先感谢xiaozuo的热心回答。
但xioazuo提供的方法只能是事后补救(我目前的思路跟你所提方法基本一致),但我需要的是在程序被激发准备运行之前先获得事件消息,从而NOTEPAD窗口根本无机会“亮相”。
请xiaozuo再帮忙。
也请各位多多帮助。
再次谢谢xiaozuo。Top
3 楼dingsg(丁丁)回复于 2000-10-27 21:02:00 得分 0
回答你的问题:
1>>获取窗口的指针!
2>>映射鼠标的移动函数;
3>>设定鼠标得到点坐标,根据你的坐标设置有必要纪行一些转换,得到你想要的点坐标!释放鼠标
4>>得到窗口的大小;
5>>定义一个矩形,左上角的点,设为你得到的点坐标,长度和宽度与你的窗口宽高相同;
6>调用MoveWindow函数;Top
4 楼Nicky_he(尼克)回复于 2000-10-30 23:14:00 得分 0
把你的程序命名成NotePad.exe,ShFileOperation会吧。
把它命名为另外的程序。
想让他“亮相”的话,把参数传递给他,并CreateProcess,ShellExecute,Winexec...
不想让他“亮相”的话,不运行它不就行了。
Top




