發表文章

目前顯示的是 4月, 2010的文章

移除硬體的圖示不見了

那就直接把它叫出來吧 RunDll32.exe shell32.dll,Control_RunDLL hotplug.dll 參考  工作列上的「安全地移除硬體」不見了如何處理?

暫時提升使用者權限

圖片
受限的使用者無法執行與系統操作相關的程式,因此常要登出後,以 Admin 使用者的權限登入,然後執行完相關的作業後,再切回原先的使用者 實際上並不需要這麼麻煩,在執行程式上按滑鼠右鍵,選擇執行身分,就可以暫時用管理者的身分執行程式了 (好像 Ubuntu 的 sudo 指令一樣) 或者也可以在捷徑的進階設定中,勾選以其他身分執行

受限使用者的遠端登入問題

圖片
日前為了安全性的考量,將平常使用的 Windows 帳戶改為受限的使用者,避免病毒的侵擾。 但之前在開會時,突然發現無法利用遠端登入自己的電腦,後來上網才找到以下的解法 解法很簡單,就是把受限的使用者加入清單中就可以了

移除 nVidia driver 失敗

在移除完 driver 重新開機後,總是會出現 fail to load nvcpl.dll 的錯誤訊息,到 regedit 中去刪除還是一樣 後來發現原來是 sw20.exe 程式造成的,這個程式是 MSI 顯示卡的一個公用程式 (以前測試有安裝過),後來到 regedit 將 sw20.exe 與 sw24.exe 兩個開機啟動程式刪除後就正常了,Key 如下 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

建立連結 ln (Windows 捷徑)

Unix link 分成以下兩種 Hard link 語法:ln source_file hard_link_file 兩者指向相同的 inode,因此修改其中任何一個檔案,則另一個檔案會跟著變更 (包含檔案的屬性)。由於兩者指向相同的 inode,所以不能跨硬碟分割區,而且不能使用在目錄上 Soft link (Symbolic link) 語法:ln -s source_file soft_link_file 以指標的方式指向 source_file,因此兩者的 inode 並不相同。修改其中任何一個檔案,則另一個檔案會跟著變更,但 soft_link_file 的屬性並不會變,而且兩個檔案可以跨硬碟分割區存放
Ubuntu 9.10 可加入以下 軟體來源 ,以便在 Synaptic 套件管理程式中安裝 Dropbox deb http://linux.dropbox.com/ubuntu karmic main deb-src http://linux.dropbox.com/ubuntu karmic main 但缺乏驗證用的公錀,可用 以下 的方式匯入 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5044912E

C# 傳遞參數的方式

前置詞 說明 Call by Value ref Call by Reference, Input and Output out Call by Reference, Output only

定時關機

昨天要下班時,電腦還在下載,只好設定定時關機,還滿好用的,不過昨天檔案還是下載失敗 C:\>AT 19:30 shutdown -s -t 180 以上新增一個排程在 19:30 執行 shutdown 程式關機,其中 -t 180 是等待 3 分鐘後再關機,以便讓 Windows 將開啟程式關閉

從 WPF 呼叫 NVAPI & ADL

WPF 使用 C# ,是屬於 Managed Code 而 NVAPI & ADL 是使用 C/C++ ,屬於 Unmanaged Code 所以必須透過橋樑來處理 第一步: 由 Using Unmanaged code and assembler in C# 知道 C# 可以透過 DllImport 來呼叫 DLL 中的 Function ,不過糟糕的是 NVAPI 是採用 Static Lib Link ,我們要使用的 Function 並沒有 Export 出來,因此折衷的辦法是在 NVAPI 外面再包一層 DLL ,然後將我們需要的 Function Export 出來給 C# 呼叫 ( 先試著直接呼叫,等比較熟後看是包成自訂控制項或其它方式 ) PS : 字串的處理記得在 DllImport 中設定 CharSet 的參數,否則 ANSI 與 UNICODE 未設定正確將產生錯誤 偵錯工具類型要設為 "混合",否則在 Managed Project 中無法偵錯 Unmanaged code NVAPI 採用 __cdecl、而 C# DllImport 預設是採用 __stdcall。我們的 DLL 是採用 Static Link 的方式呼叫 NVAPI,所以沒問題;但 C# 是用 Dynamic Link 方式呼叫 DLL,所以兩邊的 Calling Convention 必須一致,否則會產生堆疊錯誤。因此我們包的 DLL 要沿用 NVAPI 採用 __cdecl?還是配合 C# 採用 __stdcall 呢?暨然是 DLL,還是照慣例用 __stdcall 吧 Calling Convention cdecl 參數由右到左放入堆疊、呼叫端清除 (C/C++) MFC stdcall 由右到左、自行清除 (Win32) DLL pascal 由左到右、自行清除 (VC++2.0 & Win16) Borland Delphi fastcall 由左到右、自行清除 ( 前三個參數 EAX, EDX, ECX 剩下才放 Stack) Microsoft fastc