Türchen Nummer 22

In vielen Fenstern und Wohnungen findet man zur Weihnachtszeit eine ganze Menge an Lichterketten und sonstiger beleuchteter Weihnachtsdekoration.
Das manuelle Einschalten dieser vielen Lichterketten und Lämpchen kann eine zeitraubende Beschäftigung werden.
Gleiches gilt auch für Windows Mobile Applikationen die durchgehend laufen sollen. Wenn der Anwender diese Applikationen manuell starten muss dauert dies natürlich auch eine Weile.
Wäre es nicht angenehmer wenn dies automatisch geschehen würde?
Mit folgendem Codeschnipsel kann aus der eigenen Anwendung heraus, beispielsweise per Optionsdialog, eine Autostartverknüpfung angelegt werden.

C++

//Dies ist eigentlich das gleiche Schnipsel wie Türchen Nummer 8
//jedoch wird diesmal die CSIDL_STARTUP verwendet.
//Autostart Ordner auslesen
WCHAR szShortcutPath[MAX_PATH*2] = L"";
SHGetSpecialFolderPath(NULL,szShortcutPath,CSIDL_STARTUP,0);
wcscat(szShortcutPath,L"\MeinShortcut.lnk");
//Modulnamen auslesen
WCHAR szModulePath[MAX_PATH*2] = L"";
GetModuleFileName(GetModuleHandle(NULL), szModulePath, MAX_PATH);
//Shortcut erstellen
SHCreateShortcut(szShortcutPath,szModulePath);



In C# ist es diesmal nicht notwendig P/Invoke zu nutzen, um an diese Informationen zu kommen. Die Klasse Environment hierfür reicht völlig.
Hier also das Snippet:

C#


[DllImport("coredll.dll")]
private static extern int SHCreateShortcut(StringBuilder szShortcut, StringBuilder szTarget);

[MTAThread]
static void Main()
{

   StringBuilder shortcut = new StringBuilder(System.Environment.GetFolderPath(Environment.SpecialFolder.Startup)+@"MeinShortcut.lnk");
   StringBuilder target = new StringBuilder(@"windowscalc.exe");
   SHCreateShortcut(shortcut, target);
}

Patrick & Peter

About these ads
Dieser Beitrag wurde unter Windows Mobile veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ photo

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s