如何用汇编得到IE的安装路径?????
我的一个汇编程序已调试成功
但是还想在里面加一个功能,要用到IE的路径
其实只要获得系统安装的盘符就行了 然后加上\Program Files\Internet Explorer\IEXPLORE.EXE 就行了
但是如何获得系统安装的盘符??? 如何连接字符串???
最后结果要放到dd类型的值里
还有个问题 如何用汇编实现sleep()的功能??? 当然不能用循环的方法 因为耗费cpu
[解决办法]
Sleep() 功能的实现, 还是得借助系统函数实现吧, Sleep() 自首应该是比较简单的了. 循环里面加上 hlt 指令可能会对 cpu 的占用有所改善, 但对时间控制上又会多了些周折.
加入 advapi32, 对文件不应该有直接的 1K 的增大. 如果确实不能使用它的话, 要么试试 GetEnvironmentVariable( "ProgramFiles ")+ "\Internet Explorer " 来确定 ie 的路径. 不过, 这时设定的 IE 自身路径名是缺省的, 虽然绝大多数场合都是的:
....
.const
szProg db 'ProgramFiles ', 0
szIE db '\Internet Explorer ', 0
.data?
szProgPath db MAX_PATH dup (?)
.code
start:
invoke GetEnvironmentVariable, addr szProg, addr szProgPath, MAX_PATH - 1
invoke lstrcat, addr szProgPath, addr szIE
invoke MessageBox, NULL, addr szProgPath, addr szProg, MB_OK or MB_ICONINFORMATION
....
GetEnviroonmentVariable() 函数是 kernel32 中的, 一般不需要再行加入
[解决办法]
invoke GetWindowsDirectory,sysPath,sizeof sysPath
应该改成这样
invoke GetWindowsDirectory,addr sysPath,sizeof sysPath
另外 GetWindowsDirectory函数没有返回值sysPath就保存着windows目录的路径