這需要將要啟動的應用程式路徑寫到登錄檔中具體的路徑是:
hkey_local_machine/software/microsoft/windows/currentversion/run
只需要在上面的路徑下寫乙個鍵並為此鍵設定乙個當前應用程式的路徑即開機自載
具體的方法:
1、將下面這段**就是將鍵clock寫到登錄檔中:
'設定登錄檔內的run屬性
dim strstring as string
dim keyhand as long
dim r as long
r = regcreatekey(hkey_local_machine, "software/microsoft/windows/currentversion/run", keyhand)
r = regsetvalueex(keyhand, "clock", 0, reg_sz, byval strstring, len(strstring))
r = regclosekey(keyhand)
2、下面這段**就是將登錄檔的clock鍵刪除
'刪除登錄檔內的run屬性
dim keyhand as long
r = regopenkey(hkey_local_machine, "software/microsoft/windows/currentversion/run", keyhand)
r = regdeletevalue(keyhand, "clock")
r = regclosekey(keyhand)
——————————————————————————————————————————————
(以上是vb內容)
我寫的方法:只是給部分**,咔咔~~
首先引用 using microsoft.win32; 這個是.net框架在microsoft.win32名字空間中提供了兩個類來操作登錄檔:registry和registrykey。這兩個類都是密封類不允許被繼承。
例如新建乙個myautorunprogarm的winform工程。
private void writereg()
對登錄檔的處理過程是通過呼叫.net framework sdk中的命名空間microsoft.win32中封裝的二個類來實現的。這二個類就是registry類、registrykey類。在registrykey類中定義了三個方法來刪除登錄檔中的註冊資訊。他們分別是:deletesubkey ( )方法、deletesubkeytree ( )方法、deletevalue ( )方法。
private void writereg()
對登錄檔的處理過程是通過呼叫.net framework sdk中的命名空間microsoft.win32中封裝的二個類來實現的。這二個類就是registry類、registrykey類。在registrykey類中定義了三個方法來刪除登錄檔中的註冊資訊。他們分別是:deletesubkey ( )方法、deletesubkeytree ( )方法、deletevalue ( )方法。
一.如何用visual c#中呼叫這三個方法:
在介紹如何使用這三個方法之前,還需要重新介紹一下registrykey類中的乙個方法--opensubkey ( )方法。在上一文中已經介紹了,此方法是開啟指定的子鍵。其實opensubkey( )方法有二種呼叫的方式:
i > .opensubkey ( string , subkey ) :這種呼叫方式是對於此子鍵只是進行讀操作。
ii > .opensubkey ( string subkey , boolean writable ):當對子鍵使用寫操作的時候要用此種呼叫方法。如果在對子鍵使用了寫操作,但仍然使用第一種呼叫方法,在程式執行的時候會產生乙個錯誤資訊。
(1). deletesubkey ( )方法:
此方法是刪除乙個指定的子鍵,在使用此方法的時候,如果在此子鍵中還存在另外的子鍵,則會產生乙個錯誤資訊。在程式中呼叫此方法有二種原型,為:
i > . deletesubkey ( string , subkey ):這種呼叫方式就是直接刪除指定的子鍵。
ii > . deletesubkey ( string subkey , boolean info ):其中的"string"是要刪除的子鍵的名稱,"boolean"引數的意思是:如果值為"true",則在程式呼叫的時候,刪除的子鍵不存在,則產生乙個錯誤資訊;如果值為"false",則在程式呼叫的時候,刪除的子鍵不存在,也不產生錯誤資訊,程式依然正確執行。所以在具體的程式設計過程中,我還是推薦使用第二種呼叫方法。
(2). deletesubkeytree ( )方法:
此方法是徹底刪除指定的子鍵目錄,即:刪除該子鍵以及該子鍵以下的全部子鍵。由於此方法的破壞性是非常強的,所有在使用的時候要非常主要。在程式中呼叫此方法的原型就一種,為:
deletesubkeytree ( string subkey ):其中"subkey"就是要徹底刪除的子鍵名稱。
(3). deletevalue ( )方法:
此方法是刪除指定的鍵值。在程式中呼叫此方法的原型就一種,為:
deletevalue ( string value ):其中"value"就是要刪除的鍵值的名稱。
在介紹完與刪除登錄檔中註冊資訊有關方法後,將通過乙個程式來說明他們在程式中具體用法。
剛剛找到的。。。。。暈12-11 2:05。自己繞了個彎路。
在很多應用中需要做windows服務來運算元據庫等操作,比如
(1)一些非常慢的資料庫操作,不想一次性去做,想慢慢的通過服務定時去做,比如定時為資料庫備份等
(2)在.net remoting中利用windows服務來做host
利用vs.net我們可以在幾分鐘之內置立其windows服務,非常簡單
下面說一下步驟
1. 新建乙個專案
2. 從乙個可用的專案模板列表當中選擇windows服務
3. 設計器會以設計模式開啟
4. 從工具箱的元件表當中拖動乙個timer物件到這個設計表面上 (注意: 要確保是從元件列表而不是從windows窗體列表當中使用timer)
5. 設定timer屬性,interval屬性200毫秒(1秒進行5次資料庫操作)
6. 然後為這個服務填加功能
7.雙擊這個timer,然後在裡面寫一些資料庫操作的**,比如
sqlconnection conn=new sqlconnection("server=127.0.0.1;database=test;uid=sa;pwd=275280");
sqlcommand comm=-new sqlcommand("insert into tb1 ('111',11)",conn);
conn.open();
comm.executenonquery();
conn.close();
8. 將這個服務程式切換到設計檢視
9. 右擊設計檢視選擇「新增安裝程式」
10. 切換到剛被新增的projectinstaller的設計檢視
11. 設定serviceinstaller1元件的屬性:
1) servicename = my sample service
2) starttype = automatic (開機自動執行)
12. 設定serviceprocessinstaller1元件的屬性 account = localsystem
13. 改變路徑到你專案所在的bin/debug資料夾位置(如果你以release模式編譯則在bin/release資料夾)
14. 執行命令「installutil.exe mywindowsservice.exe」註冊這個服務,使它建立乙個合適的註冊項。(installutil這個程式在windows資料夾/microsoft.net/framework/v1.1.4322下面)
15. 右擊桌面上「我的電腦」,選擇「管理」就可以打計算機管理控制台
16. 在「服務和應用程式」裡面的「服務」部分裡,你可以發現你的windows服務已經包含在服務列表當中了
17. 右擊你的服務選擇啟動就可以啟動你的服務了
看看資料庫是不是一秒多了5個記錄啊
需要注意的是:
如果你修改了這個服務,路徑沒有變化的話是不需要重新註冊服務的,如果路徑發生了變化,需要先解除安裝這個服務installutil.exe /u引數,然後再重新安裝這個服務,不能直接安裝。還有就是windows服務是沒有介面的,不要企圖用控制的輸出方式來輸出一些資訊,你只能新增乙個eventlog,通過writeentry()來寫日誌。
關於怎麼用windows服務來做乙個遠端服務可以看一下
linux自動執行程式
linux 的啟動指令碼位於 etc init.d rcs 注rcs中 s是大寫字母 vi etc init.d rcs 進入vi後,按i 編輯.移動上下左右鍵到,你想插入的位置,然後打字。這時跟記事本是一樣的。打完字後,按esc 然後輸入 wq 注,第乙個字元是冒號 也要輸入 就儲存退出了。若想自...
Liunx自動執行程式
1.編輯 自動執行指令碼 crontab e 2.加入指令碼 8 sh home admin scm build.sh 1 tmp crontab.log 18 sh home admin scm build.sh 1 tmp crontab.log 系統會在 var spool cron 下生成與...
WinCE 開機自動執行程式
s1 將應用程式和應用程式快捷方式新增到映像裡,再將快捷方式新增到startup目錄下,這樣當系統執行後應用程式就能自動執行 s2 直接替換wince的shell,即修改登錄檔 hkey local machine init launch50 explorer.exe depend50 hex 14...