如题
我想写一个酷Q机器人插件向cmd窗口发送指令
求C#完整代码
我想写一个酷Q机器人插件向cmd窗口发送指令
求C#完整代码
这个简单啊 调用api 窗口句柄 发送message啊 你这悬赏也太高了吧
等我一会我去敲代码
等我一会我去敲代码
傲娇的小白 发表于 2019-3-11 17:01
这个简单啊 调用api 窗口句柄 发送message啊 你这悬赏也太高了吧
等我一会我去敲代码
...
简单吗? 我怎么不会。。。
赶快 代码 急用

本帖最后由 傲娇的小白 于 2019-3-11 17:17 编辑
首先你需要调用系统API
然后你需要遍历运行中的程序 找到Cmd的窗口句柄(如果有多个cmd的话 就需要你自己加个判断了)
然后就是发送了
哇,2000贡献 我这是到手了嘛?
额,为什么代码显示不全??????
我改成引用了
首先你需要调用系统API
[DllImport("user32.dll", CharSet = CharSet.Auto)]
private static extern int SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int Width, int Height, int flags);
[DllImport("user32.dll", EntryPoint = "FindWindow", CharSet = CharSet.Auto)]
private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
然后你需要遍历运行中的程序 找到Cmd的窗口句柄(如果有多个cmd的话 就需要你自己加个判断了)
Process[] pro = Process.GetProcesses();
foreach(var item in pro)
{
if (item.ProcessName.Equals("cmd"))
{
cmdmwhd= item.MainWindowHandle;
}
}//cmdmwhd是cmd窗口句柄 类型是IntPtr
然后就是发送了
//IntPtr cmdmwhd= FindWindow("ConsoleWindowClass", null); 你也可以去掉上面的遍历程序找句柄 直接通过className获取cmd句柄
SetWindowPos(cmdmwhd, -1, 0, 0, 0, 0, 1 | 2); //置顶窗体
SendKeys.Send("stop");
SendKeys.Send("{ENTER}"); //回车
哇,2000贡献 我这是到手了嘛?
额,为什么代码显示不全??????
我改成引用了
傲娇的小白 发表于 2019-3-11 17:11
首先你需要调用系统API
然后你需要遍历运行中的程序 找到Cmd的窗口句柄(如果有多个cmd的话 就需要你自己加 ...
我先试试可行不
傲娇的小白 发表于 2019-3-11 17:11
首先你需要调用系统API
然后你需要遍历运行中的程序 找到Cmd的窗口句柄(如果有多个cmd的话 就需要你自己加 ...
测试好了 谢谢啊