打造最好用的离线QQ截图工具 C#
???? 截圖是最經(jīng)常用的工具,QQ截圖是我見過最好的截圖工具,只是你必須打開QQ才可以使用,有時(shí)候沒法上網(wǎng),或者不想上QQ的時(shí)候,截圖還是很麻煩。Windows自帶的那個(gè)截圖工具和QQ的截圖工具相差甚遠(yuǎn)。所以想找一個(gè)QQ離線時(shí)候的替代品。下了幾個(gè)軟件,覺得使用不夠方便。最后找到了QQ截圖工具的提取版,可以實(shí)現(xiàn)QQ的截圖功能,但是使用起來每次都帶打開,而且不能使用快捷鍵。所以打算寫個(gè)軟件,重新整合一下。
??? 要實(shí)現(xiàn)的功能
??? 1:實(shí)現(xiàn)QQ的截圖功能
??? 2:時(shí)刻在后臺(tái)運(yùn)行,隨時(shí)使用
??? 3:不與QQ沖突
??? 4:可以使用快捷鍵
??? 5:開機(jī)自動(dòng)啟動(dòng)
代碼實(shí)現(xiàn)
??????????? 1:實(shí)現(xiàn)QQ的截圖功能,調(diào)用提取出來的程序
/// <summary> /// 啟動(dòng)外部程序,通過事件監(jiān)視其退出 /// </summary> public void start_nokill() { // 啟動(dòng)外部程序 Process proc = Process.Start(appName); IfExit = false; if (proc != null) { // 監(jiān)視進(jìn)程退出 proc.EnableRaisingEvents = true; // 指定退出事件方法 proc.Exited += new EventHandler(proc_Exited); } } ? /// <summary> /// 啟動(dòng)外部程序退出事件 /// </summary> void proc_Exited(object sender, EventArgs e) { IfExit = true; } }???????????? 3:不與QQ沖突,如果用戶啟動(dòng)QQ停止使用
/// <summary> /// 獲取某進(jìn)程是否存在 /// </summary> /// <param name="PName">進(jìn)程名</param> /// <returns>是否存在</returns> bool getPName(string PName) { Process[] processes = Process.GetProcesses(); foreach (Process p in processes) { if (p.ProcessName == PName) { return true; } } return false; } ? private void timer_Tick(object sender, EventArgs e) { ? if (getPName("QQ") && cbox_active.Checked) { cbox_active.Checked=false; } else if (!getPName("QQ")) { cbox_active.Checked = true; } }????????????? 4:可以使用快捷鍵
這部分是這個(gè)軟件最難得地方,使用的是全局鉤子,代碼我是參考網(wǎng)上找到的,比較復(fù)雜,代碼較長,有興趣的點(diǎn)擊下載代碼
???????????? 5:開機(jī)自動(dòng)啟動(dòng)
/// <summary> /// 設(shè)置啟動(dòng) /// </summary> /// <returns></returns> public bool setBoot() { RegistryKey loca = Registry.LocalMachine; RegistryKey run = loca.CreateSubKey(@"SOFTWARE\Microsoft\Windows \CurrentVersion\Run"); try { run.SetValue("QQ截圖", appPath); if (testBoot()) { return true; } else { return false; } } catch (Exception) { ? return false; } } /// <summary> /// 取消啟動(dòng) /// </summary> /// <returns></returns> public bool cancelBoot() { RegistryKey loca = Registry.LocalMachine; RegistryKey run = loca.CreateSubKey(@"SOFTWARE\Microsoft\Windows \CurrentVersion\Run"); try { run.DeleteValue("QQ截圖"); if (!testBoot()) { return true; } else { return false; } } catch (Exception) { ? return false; } } /// <summary> /// 測(cè)試是否添加成功 /// </summary> /// <returns></returns> private bool testBoot() { RegistryKey loca = Registry.LocalMachine; RegistryKey run = loca.CreateSubKey(@"SOFTWARE\Microsoft\Windows \CurrentVersion\Run"); string[] subkeyNames; subkeyNames = run.GetValueNames(); foreach (string keyName in subkeyNames) { if (keyName == "QQ截圖") { return true; } } return false; } }軟件介紹
??????????????????????????????? 軟件界面
我簡單說一下使用??
1:智能啟用??? 軟件可以檢測(cè)QQ,如果QQ運(yùn)行,則是使軟件處于未啟用狀態(tài),如果退出QQ,軟件會(huì)自動(dòng)啟用。
2:當(dāng)然如果不適用智能啟用,你也可以手動(dòng)啟用
3:點(diǎn)擊隱藏后,你可以在中找到它,就是那個(gè)小剪刀
4:可以設(shè)置開機(jī)自動(dòng)啟動(dòng)
5:使用快捷鍵和QQ一樣? ctrl+alt+A
總結(jié):設(shè)置開機(jī)啟動(dòng)和智能啟用,你任何時(shí)候只要按ctrl+alt+A 就可以自己使用截圖了
????????????????????????????????????????????? 軟件下載地址
轉(zhuǎn)載于:https://www.cnblogs.com/mengdesen/archive/2011/06/25/2090318.html
總結(jié)
以上是生活随笔為你收集整理的打造最好用的离线QQ截图工具 C#的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: loadrunner 11 下载地址
- 下一篇: 解决远程连接mysql很慢的问题(mys