C WinForm API 改進單例項執行

2022-01-11 04:37:49 字數 902 閱讀 6582

在普通的單例項中,第二次點選軟體快捷方式的時候,往往簡單提示"系統已經執行",而不是把第一次開啟的軟體主窗體顯示出來,下面演示如果主窗體已經開啟則把第一次開啟的主窗體放置到最前面;

在尋找窗體控制代碼時,一般會有下面幾種情況:

1.知道類名稱和窗體名稱,這種是最簡單的

2.知道類名稱,知道主窗體的名稱一部分,但主窗體名稱會發生改變

3.不知道類名稱,只知道窗體名稱,這個時候判斷條件只判斷名稱

4.只知道類名稱,不知道窗體名稱 這個時候窗體名稱設定為null

第二步 在程式的入口新增單例項判斷,如果已經存在該程式,則找到原來程式控制程式碼並開啟,這裡我預設的是最大化窗體,可以直接修改引數,是最大化還是常規模式;

補充:這個功能也可以移植主介面作為熱鍵;

具體參考華聰老師的部落格:

///

///查詢窗體控制代碼 遍歷所有窗體

///因為類名稱相同的窗體很多

/// ///

類名稱 ///

窗體名稱 因為有時候窗體名稱會變動,所以傳遞前面一部分值 或者整個值

///public

static intptr findwindowexptr(string a_strclassname, string

a_strwindowname)

}return

intptr.zero;

}

///

///窗體最大化

/// ///

窗體控制代碼

///1為正常 2為最小化 3 為最大化

public

static

void setformmax(intptr a_ptr, int a_intstate = 3

)

實訓單錶查詢

1.customer表 1 查詢所有顧客資訊。2 查詢姓名和聯絡人相同的顧客資訊 3 查詢所在城市是北京的顧客姓名,顧客位址,顧客所在城市,郵編。2.product表 1 查詢所有產品資訊 2 查詢產品名中帶有 小公尺 的商品資訊 3 查詢產品名中以 小 開頭或者產品描述中帶有 玫瑰 的產品資訊 4...

C 11改進單例模式

我們在寫單例模式的時候會遇到乙個問題,就是多種型別的單例可能需要建立多個型別的單例,主要是因為建立單例物件的建構函式無法統一,各種型別的形參不盡相同,導致我們不容易做乙個所有型別都通過的單例。現在c 11幫助我們解決了這個問題,解決這個問題的關鍵靠的是c 11的可變模板引數,下面看 template...

作業6 改進的單鏈表及其應用

作業6 改進的單鏈表及其應用 2 1對於一非空的迴圈單鏈表,h和p分別指向鍊錶的頭 尾結點,則有 a a.p next h b.p next null c.p null d.p h 2 2在雙向迴圈鍊錶結點p之後插入s的語句是 d a.p next s s prior p p next prior ...