是最經常用的工具,QQ是我見過最好的工具,只是你必須開啟QQ才可以使用,有時候沒法上網,或者不想上QQ的時候,還是很麻煩。Windows內建的那個工具和QQ的工具相差甚遠。所以想找一個QQ離線時候的替代品。下了幾個軟體,覺得使用不夠方便。最後找到了QQ工具的提取版,可以實現QQ的功能,但是使用起來每次都帶開啟,而且不能使用快速鍵。所以打算寫個軟體,重新整合一下。
要實現的功能
1:實現QQ的功能
2:時刻在後台運行,隨時使用
3:不與QQ衝突
4:可以使用快速鍵
5:開機自動啟動
代碼實現
1:實現QQ的功能,調用提取出來的程式
/// <summary>
/// 啟動外部程式,通過事件監視其退出
/// </summary>
public void start_nokill()
{
// 啟動外部程式
Process proc = Process.Start(appName);
IfExit = false;
if (proc != null)
{
// 監視進程退出
proc.EnableRaisingEvents = true;
// 指定退出事件方法
proc.Exited += new EventHandler(proc_Exited);
}
}
/// <summary>
/// 啟動外部程式退出事件
/// </summary>
void proc_Exited(object sender, EventArgs e)
{
IfExit = true;
}
}
3:不與QQ衝突,如果使用者啟動QQ停止使用
/// <summary>
/// 擷取某進程是否存在
/// </summary>
/// <param name="PName">進程名</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:可以使用快速鍵
這部分是這個軟體最難得地方,使用的是全域鉤子,代碼我是參考網上找到的,比較複雜,代碼較長,有興趣的點擊下載代碼
5:開機自動啟動
/// <summary>
/// 設定啟動
/// </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>
/// 取消啟動
/// </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>
/// 測試是否添加成功
/// </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:智能啟用 軟體可以檢測QQ,如果QQ運行,則是使軟體處於未啟用狀態,如果退出QQ,軟體會自動啟用。
2:當然如果不適用智能啟用,你也可以手動啟用
3:點擊隱藏後,你可以在中找到它,就是那個小剪刀
4:可以設定開機自動啟動
5:使用快速鍵和QQ一樣 ctrl+alt+A
總結:設定開機啟動和智能啟用,你任何時候只要按ctrl+alt+A 就可以自己使用了
軟體