最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在C#程序中對(duì)MessageBox進(jìn)行定位的方法

 更新時(shí)間:2015年07月13日 10:54:51   投稿:goldensun  
這篇文章主要介紹了在C#程序中對(duì)MessageBox進(jìn)行定位的方法,針對(duì)圖形化界面進(jìn)行調(diào)試,需要的朋友可以參考下

 在 C# 中沒(méi)有提供方法用來(lái)對(duì) MessageBox 進(jìn)行定位,但是通過(guò) C++ 你可以查找窗口并移動(dòng)它們,本文講述如何在 C# 中對(duì) MessageBox 進(jìn)行定位。

首先需在代碼上引入所需名字空間:
 

using System.Runtime.InteropServices;
using System.Threading;

在你的 Form 類里添加如下 DllImport 屬性:
 

[DllImport("user32.dll")]
static extern IntPtr FindWindow(IntPtr classname, string title); // extern method: FindWindow
 
[DllImport("user32.dll")]
static extern void MoveWindow(IntPtr hwnd, int X, int Y, int nWidth, int nHeight, bool rePaint); // extern method: MoveWindow
 
[DllImport("user32.dll")]
static extern bool GetWindowRect(IntPtr hwnd, out Rectangle rect); // extern method: GetWindowRect

接下來(lái)就可以查找窗口并移動(dòng)它:
 

void FindAndMoveMsgBox(int x, int y, bool repaint, string title)
{
  Thread thr = new Thread(() => // create a new thread
  {
    IntPtr msgBox = IntPtr.Zero;
    // while there's no MessageBox, FindWindow returns IntPtr.Zero
    while ((msgBox = FindWindow(IntPtr.Zero, title)) == IntPtr.Zero) ;
    // after the while loop, msgBox is the handle of your MessageBox
    Rectangle r = new Rectangle();
    GetWindowRect(msgBox, out r); // Gets the rectangle of the message box
    MoveWindow(msgBox /* handle of the message box */, x , y,
      r.Width - r.X /* width of originally message box */,
      r.Height - r.Y /* height of originally message box */,
      repaint /* if true, the message box repaints */);
  });
  thr.Start(); /: starts the thread
}

你要在 MessageBox.Show 之前調(diào)用這個(gè)方法,并確保 caption 參數(shù)不能為空,因?yàn)?title 參數(shù)必須等于 caption 參數(shù)。

使用方法:

 
FindAndMoveMsgBox(0,0,true,"Title");
MessageBox.Show("Message","Title");

相關(guān)文章

  • C#中Abstract方法和Virtual方法的區(qū)別

    C#中Abstract方法和Virtual方法的區(qū)別

    這篇文章介紹了C#中Abstract方法和Virtual方法的區(qū)別,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • C#中abstract的用法詳解

    C#中abstract的用法詳解

    abstract可以用來(lái)修飾類,方法,屬性,索引器和時(shí)間,這里不包括字段. 使用abstrac修飾的類,該類只能作為其他類的基類,不能實(shí)例化,而且abstract修飾的成員在派生類中必須全部實(shí)現(xiàn),不允許部分實(shí)現(xiàn),否則編譯異常
    2016-12-12
  • C# 中使用Stopwatch計(jì)時(shí)器實(shí)現(xiàn)暫停計(jì)時(shí)繼續(xù)計(jì)時(shí)功能

    C# 中使用Stopwatch計(jì)時(shí)器實(shí)現(xiàn)暫停計(jì)時(shí)繼續(xù)計(jì)時(shí)功能

    這篇文章主要介紹了C# 中使用Stopwatch計(jì)時(shí)器可暫停計(jì)時(shí)繼續(xù)計(jì)時(shí),主要介紹stopwatch的實(shí)例代碼詳解,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • SQL+C#實(shí)現(xiàn)獲得當(dāng)前月的第一天與最后一天

    SQL+C#實(shí)現(xiàn)獲得當(dāng)前月的第一天與最后一天

    本文分享了SQL+C#獲得當(dāng)前月的第一天與最后一天的代碼實(shí)例,代碼簡(jiǎn)潔,適合初學(xué)者參考。需要的朋友可以看下
    2016-12-12
  • C#對(duì)象與XMl文件之間的相互轉(zhuǎn)換

    C#對(duì)象與XMl文件之間的相互轉(zhuǎn)換

    本文是對(duì)C#中對(duì)象與XMl文件之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助
    2013-10-10
  • winform調(diào)用javascript的小例子

    winform調(diào)用javascript的小例子

    winform調(diào)用javascript的小例子,需要的朋友可以參考一下
    2013-05-05
  • C# WPF中實(shí)現(xiàn)圖表生成的五種方式

    C# WPF中實(shí)現(xiàn)圖表生成的五種方式

    在現(xiàn)代應(yīng)用程序中,數(shù)據(jù)可視化是一個(gè)重要的功能,它可以幫助用戶更直觀地理解數(shù)據(jù),在C# WPF中,有多種方式可以生成圖表,以下是五種常見的方法,每種方法都有其獨(dú)特的優(yōu)勢(shì)和局限,感興趣的小伙伴跟著小編一起來(lái)看看吧
    2024-09-09
  • C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲

    C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡(jiǎn)易猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • C# PropertyInfo類案例詳解

    C# PropertyInfo類案例詳解

    這篇文章主要介紹了C# PropertyInfo類案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法

    C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法

    這篇文章主要介紹了C# PDF Page操作設(shè)置頁(yè)面切換按鈕的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05

最新評(píng)論

句容市| 双流县| 阿克| 清流县| 龙游县| 临漳县| 三亚市| 屯留县| 松滋市| 呼和浩特市| 大港区| 潜江市| 富顺县| 同仁县| 黄山市| 衡南县| 开远市| 田东县| 益阳市| 珠海市| 咸阳市| 新建县| 白玉县| 乐业县| 祁门县| 盘锦市| 吴江市| 舒兰市| 贡山| 重庆市| 安吉县| 缙云县| 霍林郭勒市| 黑水县| 珲春市| 嘉峪关市| 兴和县| 怀来县| 莱西市| 喀喇| 阳江市|