我的程序要监控用户指定的程序,通过打开文件对话框的形式选择应用程序名,但程序名有可能被改掉,但对应的进程名还是不变,我怎样得到进程名?
解决方案 »
- vc做的系统正在运行时,把sql服务管理器关闭掉,系统运行到连接数据库的地方时就会出错
- 为了支持unicode我加入wWinMainCRTStartup报错 LNK2001: unresolved external symbol _wWinMain@16为和??
- 在vc中怎样改变界面的颜色?
- 哪里有MSDN2001下载?
- kingzai(studying C#)请进
- 为何在CTreeCtrl的item文本上收不到左/右键松开的消息??
- 帮忙!!!急!!!
- 该学vc.net吗
- 急,在不同类中使用同一变量!
- MapX 怎么内存绘图
- 200分求救,怎样用鼠标拖动大于客户区的位图,怎样实现放大图片的中心点
- CFileDialg and Clipboard
像WinGate客户端,可以指定某一程序启动时,启动WinGate
我现在实现了自我启动的代码,关键是怎样去匹配程序名与进程名。
何况在你得到之后立即把它kill掉呢
http://vcangle.8u8.com/file.htm
随便找个文件,例如notepad.exe步骤一:运行notepad.exe,任务管理器里显示notepad.exe步骤二:改名为notepad1.exe运行,任务管理器里仍显示notepad.exe步骤三:用UltraEdit打开notepad1.exe,在偏移0x400的地方改为0xff(此处不影响exe文件的运行),运行,这时再打开任务管理器,此时显示notepad1.exe!步骤四:把notepad1.exe改名为notepad.exe,运行,打开任务管理器,显示notepad1.exe步骤五:用UltraEdit打开,在偏移0x400的地方改为0x00(此处不影响exe文件的运行),运行,打开任务管理器,此时显示notepad.exe!所以可以归纳总结为:
windows在执行一个文件时,会比较和cache里的文件,如果文件的时间一致,并且其他(有待讨论,例如可以是CRC32)的部分也一样的话,就在系统里记录执行文件名为cache里的文件名,否则就显示真正的文件名,并且把它放入cache中附:说明一下,改动文件名是不会影响到文件的修改时间的