写得不对吧,试试看这样 [DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, IntPtr ID); IntPtr t = new IntPtr(excel.Hwnd);
int k = GetWindowThreadProcessId(t,IntPtr.Zero); ;
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
p.Kill();
public static extern int GetWindowThreadProcessId(IntPtr hwnd, IntPtr ID); IntPtr t = new IntPtr(excel.Hwnd);
int k = GetWindowThreadProcessId(t,IntPtr.Zero); ;
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
p.Kill();
解决方案 »
- StringBuilder如何控制内部字符串长度
- 请大家解释下私有构造函数的用处。
- Attrbute和Property从概念上来说有啥区别?
- 100分求解地磅串口读取 serialport类
- 求助!遇到难题!两个结构一样的datatable,他们的主键有好几个,如何根据主键的相同与否来插入或者更新数据?
- 求助,C#中无法使用String.Format()...
- 控制不同控件的显示数据的问题
- !!请教高手!! 我想在 DataGrid (WIN FORM) 中加入一个 “提钩” 的复选框 (不是原来3选而是2选) ,有什么好方法?
- C#获取值的问题??
- C# TCPserver端和Cline端
- 怎么用程序得到单词例表?
- C#调用WIN32---API问题
public static extern int GetWindowThreadProcessId(IntPtr hwnd, IntPtr ID); IntPtr t = new IntPtr(excel.Hwnd);
int k = GetWindowThreadProcessId(t,IntPtr.Zero); ;
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
p.Kill();
[DllImport("User32.dll", CharSet = CharSet.Auto)]
private static extern uint GetWindowThreadProcessId(IntPtr hWnd,//窗口句柄
out uint lpdwProcessId //返回进程ID
); GetWindowThreadProcessId用法是对的.检查一下excel.Hwnd的值.