|
本帖最后由 fqyzhx 于 2020-12-31 00:27 编辑
用xxx.vbs实现了 自动化登录telnet备份交换机配置到D盘
可是交换机很多
用VS2015做了个程序
[code]#include<windows.h>
#include<stdio.h>
#include<WinUser.h>
int main()
{
WinExec("c:\\windows\\system32\\cmd.exe", SW_SHOW);
Sleep(1000);
//发送telnet
keybd_event(0x54, 0, 0, 0);
Sleep(100);
keybd_event(0x45, 0, 0, 0);
Sleep(100);
keybd_event(0x4C, 0, 0, 0);
Sleep(100);
keybd_event(0x4E, 0, 0, 0);
Sleep(100);
keybd_event(0x45, 0, 0, 0);
Sleep(100);
keybd_event(0x54, 0, 0, 0);
Sleep(500);
//发送回车
keybd_event(13, 0, 0, 0);
return 0;
}
运行后提示
但是我直接在运行中输入CMD,然后输入telnet又正常呢?
应该是文件路径重定位的问题,在64位的电脑上运行的32位程序,会产生重定位问题。
解决方法
1.在64位电脑上运行64位的程序
2.关闭重定位
- int main() {
- char sysDir[MAX_PATH];
- GetSystemDirectory(sysDir,MAX_PATH);
- strcat_s(sysDir, "\\telnet.exe");
- LPVOID pVoid = NULL;
- Wow64DisableWow64FsRedirection(&pVoid);
- WinExec(sysDir, SW_SHOW);
- Wow64RevertWow64FsRedirection(pVoid);
- return 0;
- }
复制代码
|
上一篇: 求助一下程序运行崩溃是什么原因?下一篇: win32窗口下WindowProc报错问题
|