c#用run32dll打开系统dll(如系统图片查看器,并置最顶层)
2016-05-09 21:38
711 查看
[DllImport("user32.dll", EntryPoint = "SetWindowPos",CharSet = CharSet.Auto)] static extern bool SetWindowPos( IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags ); static readonly IntPtr HWND_TOPMOST = new IntPtr(-1); static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2); static readonly IntPtr HWND_TOP = new IntPtr(0); const UInt32 SWP_NOSIZE = 0x0001; const UInt32 SWP_NOMOVE = 0x0002; const UInt32 SWP_NOZORDER = 0x0004; const UInt32 SWP_NOREDRAW = 0x0008; const UInt32 SWP_NOACTIVATE = 0x0010; const UInt32 SWP_FRAMECHANGED = 0x0020; const UInt32 SWP_SHOWWINDOW = 0x0040; const UInt32 SWP_HIDEWINDOW = 0x0080; const UInt32 SWP_NOCOPYBITS = 0x0100; const UInt32 SWP_NOOWNERZORDER = 0x0200; const UInt32 SWP_NOSENDCHANGING = 0x0400; const UInt32 TOPMOST_FLAGS = SWP_NOMOVE | SWP_NOSIZE; private void button1_Click(object sender, EventArgs e) { Process process = Process.Start("rundll32.exe",@"C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen d:\1.jpg"); IntPtr str = process.Handle; SetWindowPos(this.Handle, HWND_NOTOPMOST, 0, 0, 0, 0, 1 | 2); //最后参数也有用1 | 4 }
相关文章推荐
- C#中数组、ArrayList和List三者的区别
- C#:ListView控件如何实现点击列表头进行排序
- 【转】【C#】判断两个文件是否相同
- c#实现深浅拷贝
- 非对称加密RSA的应用及在C#中的实现
- C#调用dll提示"试图加载格式不正确的程序"原因及解决方法
- c#将文件从一个位置复制到另一个位置
- tc#0 基本用法
- C#时间格式化
- 【C#】动态加载dll程序集
- static C#
- C#从非第一元素传递实参数组
- C#中从服务器中下载execl文件到本地
- C#学习笔记之自加和自减
- C#获取客户端相关信息
- C#集合1
- C#多线程-不同线程之间通过事件委托封送调用方法
- 【C#设计模式-观察者模式】
- C# using的一些事
- C# Winform窗口之间传值的多种方法浅析