Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 03:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



C# Verknüpfungen

Discussion on C# Verknüpfungen within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,387
Received Thanks: 2,115
Question C# Verknüpfungen

Hallo,

ich habe mit Hilfe von ein paar pvpers ein C# Programm geschrieben.
Ich möchte jetzt noch Buttons einbauen, die eine Verknüpfung zum Desktop, bzw. ins Autostartmenu ertellen. Ich habe auch eine Methode gefunden: Mein Problem ist nur. dass ich das Programm nicht installiere, und somit nicht wissen kann wo es gespeichert ist. Also habe ich Application.ExecutablePath benutzen wollen. in dem file/ wird das aber nicht erkannt
Kennt jemand eine ander Möglichkeit Verknüpfunge zu ertellen?
FizzeBu is offline  
Thanks
1 User
Old 08/28/2010, 00:30   #2
 
elite*gold: 0
Join Date: Mar 2006
Posts: 10
Received Thanks: 0
Also wenn man die zweite Methode aus deinem Link nimmt, funktioniert alles.

Hab die hier genommen:
Quote:
private void appShortcutToDesktop(string linkName)
{
string deskDir = Environment.GetFolderPath(Environment.SpecialFolde r.DesktopDirectory);

using (StreamWriter writer = new StreamWriter(deskDir + "\\" + linkName + ".url"))
{
string app = System.Reflection.Assembly.GetExecutingAssembly(). Location;
writer.WriteLine("[InternetShortcut]");
writer.WriteLine("URL=file:///" + app);
writer.WriteLine("IconIndex=0");
string icon = app.Replace('\\', '/');
writer.WriteLine("IconFile=" + icon);
writer.Flush();
}
}
Bei Win7/Vista Programm als Admin ausführen.
bFighter is offline  
Old 08/28/2010, 12:34   #3
 
Noisuf-X's Avatar
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
Quote:
Originally Posted by bFighter View Post
Also wenn man die zweite Methode aus deinem Link nimmt, funktioniert alles.

Hab die hier genommen:


Bei Win7/Vista Programm als Admin ausführen.
wieso Admin rechte in seinem lokalen desktop pfad braucht man kein admin rechte

@Thema
Ich würde dir eher raten eine Setup datei zu erstellen, damit kommst du weiter.
Da da aber hier so einen post sprengen würde hier ein TUT
oder du googlest wie man mit visual studio ein setup projekt erstellt
Noisuf-X is offline  
Thanks
1 User
Old 08/28/2010, 13:50   #4
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,387
Received Thanks: 2,115
hmm, eigentlich wollte ich kein Setup, aber ich werde es wohl so machen müssen. Ich wollte eigentlich wissen wie ich Application.ExecutablePath mit diesem file/// Befehl verbinden kann, da ich ja nicht weiß wie der Pfad zu meinem Programm ist...
Aber trozdem Danke
FizzeBu is offline  
Old 08/28/2010, 21:29   #5
 
Noisuf-X's Avatar
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
Quote:
Originally Posted by FizzeBu View Post
hmm, eigentlich wollte ich kein Setup, aber ich werde es wohl so machen müssen. Ich wollte eigentlich wissen wie ich Application.ExecutablePath mit diesem file/// Befehl verbinden kann, da ich ja nicht weiß wie der Pfad zu meinem Programm ist...
Aber trozdem Danke
also dein Problem ist das Application.ExecutablePath einen Windowspfad zurück gibt, und die besitzen nunmal "\" als Verzeichnisstrenner.

file:// ist eine URI und besitzt "/" als verzeichnisstrenner.

Problemlösung ist
Quote:
String.Format(@"file://{0}", Application.ExecutablePath.Replace(@"\", "/"));
zur Erklärung:
1. .Replace(string1, string2), erstetzt in dem ausgangs string jeden string1 mit string 2.
2. wenn man vor "" eine @ schreibt muss man die standart-string-regeln nicht beachten also das \\ im string dann \ bei der ausgabe sind, d.h. man hat zb so die möglichkeit die pfad unter windows normal zuschreiben
@"C:\so\gefällt\mir\das.exe" und "C:\\so\\gefällt\\mir\\das.exe" sind in identisch.

P.S. händisch würde eine Desktopverknüpfung aber anderst erstellen, weil das oben sind nur INternetShortcuts die einfach auf einen lokalen pfad verweisen, aber keine richtigen Windowsverknüpfungen

Quote:
WshShell shell = new WshShell(); // Erzeugt eine native Windowsshell
IWshShortcut link = (IWshShortcut)shell.CreateShortcut(String.Format(@ "{0}\SoWieDuDeineVerknüpfungNenenWillst.lnk", Environment.GetFolderPath(Environment.SpecialFolde r.DesktopDirectory))); // Erzeugt eine Verknüpfung zu dem Pfad den man angibt
link.TargetPath = String.Format(@"{0}\abc.exe", Application.ExecutablePath); // das ist die Eigenschaft von der Verknüpfung der den Zielpfad angibt
link.Save(); // zum schluss noch speichern
Du musst aber bei den Refrences noch den "Windows Script Host Model" verweisen.

Optional:
Quote:
link.IconLocation = PfadZumIcon; // kann man noch ein Icon setzen
und noch ein Codeproject
Noisuf-X is offline  
Old 08/28/2010, 23:57   #6
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,387
Received Thanks: 2,115
Woow, danke! Ich habe heut keine Zeit mehr das zu testen, aber es sieht sehr vielversprechend aus! Danke Ich schreibe dann morgen abend ob es funktioniert hat
FizzeBu is offline  
Old 08/29/2010, 15:52   #7
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,387
Received Thanks: 2,115
Also, es hat eigentlich super geklappt, man muss noch using IWshRuntimeLibrary; hinzufügen, dann ist der Code vollständig;D

Ich habe jetzt aber noch ein paar Fehler Meldungen bekommen und zwar alle in dieser Zeile:

Code:
            IWshShortcut link = (IWshShortcut)shell.CreateShortcut(String.Format(@ "{0}\Pennergame Spender.lnk", Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory))); // Erzeugt eine Verknüpfung zu dem Pfad den man angibt
Wenn ich ein ; einfüge verlangt er ein ) dann auch noch ein ( und dann wieder ein ; D:

Könntes tdu die Zeilen nochmal checken bitte ich kriegs nämlich alleine nicht gebacken D:
FizzeBu is offline  
Old 08/29/2010, 18:24   #8
 
Noisuf-X's Avatar
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
Quote:
Originally Posted by FizzeBu View Post
Also, es hat eigentlich super geklappt, man muss noch using IWshRuntimeLibrary; hinzufügen, dann ist der Code vollständig;D

Ich habe jetzt aber noch ein paar Fehler Meldungen bekommen und zwar alle in dieser Zeile:

Code:
            IWshShortcut link = (IWshShortcut)shell.CreateShortcut(String.Format(@ "{0}\Pennergame Spender.lnk", Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory))); // Erzeugt eine Verknüpfung zu dem Pfad den man angibt
Wenn ich ein ; einfüge verlangt er ein ) dann auch noch ein ( und dann wieder ein ; D:

Könntes tdu die Zeilen nochmal checken bitte ich kriegs nämlich alleine nicht gebacken D:
ja ok namespace usings lass ich eigentlich immer weg, also das kann man schon selberraus finden. Visual Studio hilft einem da ja auch, wenn man den Verweis drinne muss man bloß auf den Klassenamen gehen und STRG+. drücken dann bietet es einem den namespace an
bei der Zeile mit dem Fehler muss das @ muss immer direkt an der " stehen also @", muss bei kopieren aus visual studio dazu gekommen sein
und was ich gerade noch sehen
Quote:
link.TargetPath = Application.ExecutablePath;
muss so da Application.ExecutablePath ja schon die exe zurück gibt und nich nur den Ordner
Noisuf-X is offline  
Thanks
1 User
Old 08/30/2010, 08:02   #9
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,387
Received Thanks: 2,115
Danke, man muss nur die Leerstelle nach dem @ wegmachen, dann funktioniert es einwandfrei;D

Noch ne frage: Wie kann ich eine int Variable konvertieren, soass ich sie bei if (variable = 100) einfügen kann?
FizzeBu is offline  
Old 08/30/2010, 09:21   #10
 
Noisuf-X's Avatar
 
elite*gold: 38
Join Date: Dec 2008
Posts: 1,339
Received Thanks: 462
Quote:
Originally Posted by FizzeBu View Post
Danke, man muss nur die Leerstelle nach dem @ wegmachen, dann funktioniert es einwandfrei;D

Noch ne frage: Wie kann ich eine int Variable konvertieren, soass ich sie bei if (variable == 100) einfügen kann?
Das ist eigentlich Grundlagenwissen, "=" ist eine Zuweisung "==" ist ein Vergleichsoperator.
Müsste eigentlich auch in der Fehlernachricht stehen
Noisuf-X is offline  
Thanks
1 User
Old 08/30/2010, 09:32   #11
 
FizzeBu's Avatar
 
elite*gold: 6
Join Date: Mar 2010
Posts: 12,387
Received Thanks: 2,115
Danke ;D
FizzeBu is offline  
Reply

Tags
c#, verknüpfung


Similar Threads Similar Threads
[Release]Putty Verknüpfungen
07/02/2010 - Metin2 PServer Guides & Strategies - 32 Replies
Hallo liebe Community! Heute release ich meine Putty Verknüpfungen. Vorweg: Es funktioniert NUR, wenn die Serverfiles im Pfad /home/game sind! Hier meine bisherigen Verknüpfungen: - ./start = Startet den Server, man muss nicht extra ins Serververzeichniss wechseln und z.B sh start.sh eingeben!
Aufgaben zum Thema: Logische Verknüpfungen
01/19/2010 - Main - 9 Replies
Hey Jungs^^ Habe da ein Problem mit folgenden Aufgaben..könnt ihr mir vllt. paar Seiten nennen,wo ich die benötigte information finden könnte oder noch besser wenn ihr mir helfen könntet :S -------------------------------------- 2. Ein Analogsignal mit einer maximalen Spannung von 10V soll digitalisiert werden. Das kleinstmögliche Digitalsignal soll einer Spannung von 1 mV entsprechen. a) Wie viele Zustände muss das Digitalsignal annehmen können, um den Spannungsbereich des...
Verknüpfungen Name problem
01/07/2010 - Technical Support - 1 Replies
Seit heute hab ich das problem.... schaut einfach das bild an dan wisst ihr was ich meine... klickt hier für pic schaun WIe kann ich das problem beheben? die schwarze schrift und den ramen.. das war noch nie so -.-.
[FreeBsd]Verknüpfungen erstellen
10/11/2009 - Main - 3 Replies
So weiß jemand von euch wie man bei freebsd verknüpfungen erstellt? also ich möchte es dann halt wie folgt aben ordner a) ordner b) im ordner b) ist eine verknüpfung zu ordner a) so das man dann halt über die verknüpfung in den ordner a kommt schon mal danke im Vorraus SecretDead
shortcut / hotkey zu verknüpfungen
05/24/2009 - Technical Support - 2 Replies
hi, habe ein mehr oder minder schweres problem als ich heute mal das copyright zeichen machen wollte (normal strg + alt + c), bekam ich kein copyright-zeichen, sondern es öffnet sich ein programm, zu dem ich in der vergangenheit wohl mal einen shortcut gemacht habe allerdings finde ich nicht mehr die verknüpfung, mit der ich strg + alt + c verknüpft hab -.- ich möchte diesen shortcut aber gerne entfernen gibt es in der registry oder im windows verzeichnis irgendwo ne liste, in der alle...



All times are GMT +2. The time now is 03:43.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.