AsAWirelessAdapter Update Note.

簡介

AsAWirelessAdapter 這東西其實之前有介紹過(詳見如何於VC#中執行命令提示字元的命令?一文),不過那時候寫的不完整,草草帶過運作原理而已。今天想藉著更新,來跟大家分享在2011年時所寫的這個小程式。

AsAWirelessAdapter 其實就是 As A Wireless Adapter 的無空格句子(我相信大家都看得出來),意思就是,當一個無線交換器,也就是無線基地台的意思。

當初寫這個軟體的動機很簡單,就是不想要買一台AP,但想要用筆電當作AP(好亂)。簡單講,就是想直接利用筆電的網路卡開啟無線基地台的功能,讓我的手機在家不用開3G也能跟世界接軌。而又因為某套類似功能的軟體要付費才能擁有完整的功能,試用版下的功能限制又一堆,只好上網查查資料。

這一查,發現 Windows 下有個有趣的命令可以達到同樣的功能,但每次都要下指令未免也太麻煩,所以就動手幫他加了個殼…不過也因為如此,這個程式只能用在 Windows XP / 7 的系統上,若非這兩個系統的使用者,請多多包涵。

這次的更新,AsAWirelessAdapter增加了一些新的東西,讓程式用起來更為方便:

  1. 最小化到系統工具列
  2. 記憶使用者設定的SSID與密碼

下載

新增功能原理介紹

最小化到系統工作列

這個功能預設是當使用者點下最小化按鈕時,會縮小到工具列之中,而不是在工作列上佔一個容易誤按的空間。程式碼段落:

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;
    }
}

記憶使用者設定的SSID與密碼

這部份功能則是利用 C# 中的 ApplicationSetting 功能所實現的,可以參考這篇來自Sam隋棠筆記的文章做設定。

程式碼片斷:

private void OKbtn_Click(object sender, EventArgs e)
{
    ...(略)...
    /* ------ 儲存SSID與PWD ------ */
    Properties.Settings.Default.Save();
}
獨夜: