AsAWirelessAdapter 這東西其實之前有介紹過(詳見如何於VC#中執行命令提示字元的命令?一文),不過那時候寫的不完整,草草帶過運作原理而已。今天想藉著更新,來跟大家分享在2011年時所寫的這個小程式。
AsAWirelessAdapter 其實就是 As A Wireless Adapter 的無空格句子(我相信大家都看得出來),意思就是,當一個無線交換器,也就是無線基地台的意思。
當初寫這個軟體的動機很簡單,就是不想要買一台AP,但想要用筆電當作AP(好亂)。簡單講,就是想直接利用筆電的網路卡開啟無線基地台的功能,讓我的手機在家不用開3G也能跟世界接軌。而又因為某套類似功能的軟體要付費才能擁有完整的功能,試用版下的功能限制又一堆,只好上網查查資料。
這一查,發現 Windows 下有個有趣的命令可以達到同樣的功能,但每次都要下指令未免也太麻煩,所以就動手幫他加了個殼…不過也因為如此,這個程式只能用在 Windows XP / 7 的系統上,若非這兩個系統的使用者,請多多包涵。
這次的更新,AsAWirelessAdapter增加了一些新的東西,讓程式用起來更為方便:
這個功能預設是當使用者點下最小化按鈕時,會縮小到工具列之中,而不是在工作列上佔一個容易誤按的空間。程式碼段落:
private void MainWindow_Load(object sender, EventArgs e)
{
...(略)...
// 建立 NotifyIcon
this.notifyIcon1.Text = "AsAWirelessAdapter";
}
private void MainWindow_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
// 當使用者點下最小化按鈕時
this.ShowInTaskbar = false;
this.notifyIcon1.Visible = true;
if (firstMinimize)
{
notifyIcon1.ShowBalloonTip(2000);
firstMinimize = false;
}
}
}
private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
// 當使用者點兩下工具列中的圖示時
this.Show();
this.WindowState = FormWindowState.Normal;
this.ShowInTaskbar = true;
}
}
這部份功能則是利用 C# 中的 ApplicationSetting 功能所實現的,可以參考這篇來自Sam隋棠筆記的文章做設定。
程式碼片斷:
private void OKbtn_Click(object sender, EventArgs e)
{
...(略)...
/* ------ 儲存SSID與PWD ------ */ Properties.Settings.Default.Save();
}