2017/12/28

【C#】偵測Disk插入/卸除


要在C#中偵測磁碟機的改變(新增/插入、移除/卸除)可以透過ManagementEventWatcher類別加上Windows提供的WMI來達到此功能,直接看程式碼內容:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;

namespace DiskDetect
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementEventWatcher watcher = new ManagementEventWatcher();
            WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2 or EventType = 3");
            watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived);
            watcher.Query = query;
            watcher.Start();

            Console.ReadLine();
        }

        static void watcher_EventArrived(object sender, EventArrivedEventArgs e)
        {
            if (Convert.ToInt16(e.NewEvent.Properties["EventType"].Value) == 2)
            {
                Console.WriteLine("Disk Insert: " + e.NewEvent.Properties["DriveName"].Value);
            }
            else
            {
                Console.WriteLine("Disk Remove: " + e.NewEvent.Properties["DriveName"].Value);
            }
        }
    }
}

參考連結:
ManagementEventWatcher Class
Win32_VolumeChangeEvent

Keyword: How to detect disk state in C# language

2017/12/21

【AutoIt】插入一個執行時期的錯誤

在任何程式語言要插入一個執行時期錯誤(run time error)最快的方式大概就是誤用陣列吧,所以要在AutoIt中埋入一個執行時期錯誤最簡單的方式也不外乎是用這招,直接看底下範例:

1
2
3
4
5
6
#cs
Inject a run time error for autoit script
#ce
Global $arr[1]
$arr[0] = 50
MsgBox(0, "Run Time Error", $arr[1])


2017/4/6

【Focus】新成員:鐵男?小白?

想法真的會隨時間改變,原先很篤定先買房再買車,踏入社會堅守了六年左右還是轉念了,至於買車用途也不是為了上下班代步,很單純就是假日能自由的跑遠?



2017/3/25

【Focus】五千公里保養工單

由於車子比較少使用里程累積速度較慢,滿半年也不過多了五千公里的里程,不然根據手冊每一萬公里再回廠保養即可。
這次回廠一樣就讓接待直接帶出保養套餐,很好說話的我還是沒能成功ㄠ到折扣優惠,最後得到一瓶全效機油添加劑,看在接待跟技師都很熱心幫忙處理車子就不計較那點折扣了,這次仍是指定吳振毅技師幫忙,沒什麼考量想法,第一次找他是因為論壇車友鼎力推薦,這次還回去找他就是第一次過程覺得還不錯就繼續讓他服務囉,畢竟固定技師保養以後車有什麼怪毛病應該可以得到比較多的用心吧...!?

2017/3/23

【Focus】一千公里保養工單

在FSC & Mobile論壇上翻了一堆技師推薦文,最後決定回到台中九和復興廠找吳振毅技師幫忙保養,第一次進廠保養全程跟著一起看底盤與所有的保養工序,也問了很多關於開車與養車觀念,吳技師滿建談的,稍微問個開頭就可以一路一直聊下去,比較麻煩的是指定吳振毅技師太熱門了,至少需要提早兩個星期預約比較不會撲空!