Entwickler-Ecke
IO, XML und Registry - auf kontexmenü eingabe oder registry anweisung ausführen
FragSalat - So 10.05.09 15:36
Titel: auf kontexmenü eingabe oder registry anweisung ausführen
ja also ich erklär mal was ich vor hab...
ich hab vor per rechtsklick->kontexmenü eine bild datei zu öfnnen und den pfad in meinem programm ein zu lesen
ich habe halt jetzt einen kontexmenü eintrag angelegt und auf den soll halt nun die oben gesagt anweisung passieren das er das bild ins prog läd und den pfad auch an eine textbox weiter gibt
wäre echt nice wenn mir da wer helfen kann
thx im vorraus
MfG FragSalat
FragSalat - So 10.05.09 17:05
zum einen hab ich bei mir keine main methode^^
läuft auch ohne^^
zum anderen komm ich nicht auf GetCommandLineArgs klar^^
na mal guckn wär aber nice wennde mal n beispiel code hättest^^
jaenicke - So 10.05.09 17:09
Ohne main-Methode kannst du in C# kein Programm erstellen bzw. starten...
Wie wäre es mit dem Beispiel auf der Seite?
C#-Quelltext
1: 2: 3: 4: 5:
| String[] arguments = Environment.GetCommandLineArgs(); arguments[0] arguments.Length ... |
JüTho - So 10.05.09 17:17
FragSalat hat folgendes geschrieben : |
| zum einen hab ich bei mir keine main methode^^ |
Das ist Quatsch. Eine C#-Anwendung hat immer
genau eine Main-Methode (eine Klassenbibliothek nicht, aber jede Anwendung).
| SDK-Doku hat folgendes geschrieben: |
| Die Main-Methode ist der Einstiegspunkt des Programms, an dem Objekte erstellt und andere Methoden aufgerufen werden. Es kann nur einen Einstiegspunkt in einem C#-Programm geben. |
FragSalat hat folgendes geschrieben : |
| läuft auch ohne^^ |
Dann hast du eine neue Programmiersprache entwickelt.
FragSalat hat folgendes geschrieben : |
zum anderen komm ich nicht auf GetCommandLineArgs klar^^
na mal guckn wär aber nice wennde mal n beispiel code hättest^^ |
OpenBook Visual C# Kap.2 [
http://openbook.galileocomputing.de/visual_csharp/visual_csharp_02_001.htm] oder die allgemeine Einführung in die Arbeit mit Arrays (wie bei Sebastian angedeutet).
Gruß Jürgen
FragSalat - So 10.05.09 18:15
ja gut mag sein aber die is nicht in der seite wo ich halt die form schreibe bzw die funktionen der form
btw ich habe nur 1 eintrag im array und der wäre der pfad wo mein prog gespeichert ist...
das hilft mir aber nicht weiter denn ich will wissen wie ich in der registry oder im programm eine anweisung ausführen kann nachdem ich rechtsklick aufs bild->kontexmenü->menüpunkt gewählthab
JüTho - So 10.05.09 18:39
Schau einmal die Datei program.cs an.
Übrigens: im Explorer oder TotalCommander o.ä. Rechtsclick -> Öffnen mit -> Programm auswählen liefert es auch ohne Eintrag in die Registry. Ein Eintrag in die Registry hat höchstens dann Sinn, wenn alle Dateien mit dieser Endung so bearbeitet werden sollen.
Jürgen
FragSalat - So 10.05.09 18:57
so ist es ja auch und ich bin zwar anfänger beim coden aber nicht dumm das weiß doch jeder
es geht aber darum das ich nen nicht originales photoshop cs4 hab und dort fehlen komischerweise die dateiformate png gif bmp usw. und deswegen hab ich mir nen prog gecodet welche die umwandelt und jetzt hab ich mir halt ne erweiterung in dem kontextmenü eingerichtet auf ziehmlich alle bilddateien und muss nur noch wissen wie ich codn / machen kann das mein programm sozusagen dann den pfad der datei bekommt die ich rechtsgeklickt hab und dann kann man weiter arbeiten mit dem prog
jaenicke - So 10.05.09 19:08
FragSalat hat folgendes geschrieben : |
| es geht aber darum das ich nen nicht originales photoshop cs4 hab |
Und um die Raubkopie richtig benutzen zu können willst du jetzt Hilfe?!?
Sonst gehts aber noch... :roll:
FragSalat - So 10.05.09 19:30
omg das hat nix damit zu tun das photoshop richtig gehen soll sondern damit das ich keine möglichkeit hab in ner png z.b. ab zu speichern oder in ner bitmap
JüTho - Mo 11.05.09 08:40
JüTho hat folgendes geschrieben : |
| im Explorer oder TotalCommander o.ä. Rechtsclick -> Öffnen mit -> Programm auswählen liefert es auch ohne Eintrag in die Registry. |
Wenn ich das mache, gibt es irgendwann auch eine Rückfrage wie: "Dateien mit dieser Extension immer mit diesem Programm öffnen". Auf diese Weise kann ich nicht berücksichtigte Extensions selbst nachtragen. Aber ich gebe Sebastian recht:
jaenicke hat folgendes geschrieben : |
Und um die Raubkopie richtig benutzen zu können willst du jetzt Hilfe?!?
Sonst gehts aber noch... :roll: |
Jürgen
FragSalat - Mo 11.05.09 22:24
so ich habs jetzt hinbekommen
ihr müsst also dort wo ihr die schlüssel für die kontexmenü erweiterungen angelegt habt beim letzten schlüssel (der sollte command heißen) wo der pfad eurer datei angegeben sein sollte , am ende noch "%1" anfügen also z.b.
C:\Users\...\Documents\Visual Studio 2008\Projects\Bildkonverter\Bildkonverter\obj\Debug\Bildkonverter.exe "%1"
das "%1" sorgt dafür das ein argument übergeben wird beim öffnen was halt bei uns der pfad der rechtsgeklickten datei ist
für alle anderen die das vllt gebrauchen könnten hier mein code
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| String[] arguments = Environment.GetCommandLineArgs(); //argumente auslesen
if (arguments.Length > 1) //Prüfen ob mehr als 1 argument vorhanden ist //(welches in meinem fall der bildphad ist) { try {
textBox1.Enabled = true; textBox1.Text = arguments[1]; //Den Dateipfad an die textbox übergeben textBox1.Enabled = false; pictureBox1.Image = Image.FromFile(arguments[1]); //mit dem Dateipfad Bild in die picbox geladen pictureBox1.SizeMode = PictureBoxSizeMode.Zoom; } catch (Exception) //exeption falls z.b. nicht konvertirerbare datei { MessageBox.Show("Das Bild konnte nicht geladen Werden"); } } |
MfG FragSalat
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!