2012-03-31 12 views
0

Ich habe ein Programm, das ich mit einigen Protocal für zB starten möchte: Proto Genannt wie Proto: // 122122 aus dem Browser.Autoit Registrierung eines Protokolls und ausführendes Programm

Wenn der Benutzer auf den Link klickt öffnet er mein Programm und sendet die Nummer als eine Variable oder etwas voraus.

Ich habe Grundkenntnisse in C++, aber kein Wissen zu diesem Thema Dank

Antwort

0

Sie müssen das Protokoll in die Registrierung, in HKEY_CLASSES_ROOT hinzuzufügen.

Insbesondere müssen Sie die folgenden Schlüssel erstellen:

[HKCR\proto] 
@="URL:My Protocol" 
"Url Protocol"="" 

[HKCR\proto\shell\open\command] 
@="Path\To\My\Program.exe '%1'" 

Dann proto://122122 Öffnen Program.exe ausgeführt wird, und die Zahlen in $CmdLine[1] verfügbar sein (vorausgesetzt, Sie AutoIt verwenden, wie man es so markiert, aber erwähne es überhaupt nicht).

Edit:

Um die oben in AutoIt programmatisch zu tun, müssen Sie an den Registrierungsfunktionen betrachten, insbesondere RegWrite. Oberhalb ich eine .reg Datei wie Antwort war, aber in AutoIt sieht es so etwas wie faul und gab:

Local $sProtoName = "proto" 

RegWrite("HKCR\" & $sProtoName) 
RegWrite("HKCR\" & $sProtoName, "", "REG_SZ", "URL:My Protocol") 
RegWrite("HKCR\" & $sProtoName, "Url Protocol", "REG_SZ", "") 
RegWrite("HKCR\" & $sProtoName & "\shell\open\command") 
RegWrite("HKCR\" & $sProtoName & "\shell\open\command", "", "REG_SZ", "Path\To\My\Program.exe '%1'") 

Wie bei allen Dingen Registry, tun Sie es nicht, wenn Sie nicht wissen, was Sie tun. Das Ändern von HKCR ist relativ sicher. Das Schlimmste, was passieren wird, ist, dass Sie ein anderes Protokoll überschreiben und es ist ein bisschen mühsam, es rückgängig zu machen, aber ich empfehle immer noch, zuerst etwas zu lesen. Google ist wie immer dein bester Freund, aber eine kleine Idee wie this one ist wahrscheinlich eine gute Idee.

Um den obigen Code zu entfernen, löschen Sie einfach den gesamten Schlüssel "HKCR \ proto".

+0

Oh sorry dafür, dass ich vergessen habe, das zu schreiben, weil ich das mit meinem Handy erstellt habe. Und wo füge ich das hinzu? Ich meine registrieren wo? Tut mir leid, ich habe kein Wissen mit all diesen Sachen. xD – kritya

+0

@kritya, es ist nicht wirklich wichtig, da das gleiche Prinzip für jede andere Sprache gelten würde. Ich hätte 'argv [1] schreiben können und es wäre dasselbe. – Matt

+0

Du hast mich nicht richtig verstanden. Ich meine, wie füge ich mein Protokoll zu HKEY_CLASSES_ROOT hinzu? – kritya

Verwandte Themen