您的位置:首页 > 编程语言 > C#

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: