Seite 1 von 2

N00b-Programmier-Frage: Von EXE auf URL

Verfasst: 5. Mär 2007, 00:36
von Estron Dekal
[size=0]Ich könnte mich natürlich auch in einem zum Thema passenden Forum anmelden, aber wozu woanders anmelden, wenn es hier so einen tollen OT-Bereich gibt? *hrhr* Irgendwer weiss es doch bestimmt.[/size]

Folgendes bezieht sich auf Windows Dateitypen, Mechanismen etc.

Also, Problem ist folgendes: Ich benötige eine .exe-Datei, die entweder den Zweck ein .url-Datei erfüllt oder auf eine .url-Datei "verknüpft". Ich habe mich mal bei Google&Co ein bisschen umgesehen und ein paar Überlegungen angestellt:

1. Konvertierte Batchdatei
Erstellt, getestet, funktioniert. Ich habe eine .bat-Datei erstellt, die eine .url-Datei öffnet, und diese dann mit einem bat-to-exe-Konverter zu .exe konvertiert. Problem: Jedes Mal wird Winoldap/WINOA368.MOD mit ausgeführt, was ich "von Hand" beenden muss. Eventuell könnte man ein weiteres Skript schreiben, dass alle Prozesse dieses Namens beendet? Andererseits glaube ich, dass das ganze damit zusammenhängt, dass ich die .bat möglicherweise nicht korrekt beendet habe. Googles Ergebnisse widersprechen sich da doch sehr, in der Frage, welcher Befehl ans Ende gehört. Die Frage wäre dann immernoch, ob mein gewählter (oder überhaupt irgendein) bat-to-exe-Konverter diese Funktion unterstützt.

2. .exe, die eine .url "ist"
Eine .exe, die das Verhalten einer .url hat: Standard-Browser öffnen, Seite aufrufen. MMn erstellbar mit Konvertern, aber ich habe keine Programmiersprache gefunden, mit der das möglich wäre, und zu der ich einen -to-exe-Konverter fand.

3. .exe, die direkt auf eine .url verknüpft
Wie 2., aber sicher die bessere Lösung. Die konvertierte .bat gehört strenggenommen dazu, führt aber eben den ungeliebten Prozess Winoldap/WINOA368.MOD zusätzlich aus. Kennt jemand eine geeignete Skript-Sprache, und einen zugehörigen -to-exe-Konverter? Nach Möglichkeit beides so einfach, dass ich es selbst erstellen kann... Ansonsten wäre ich natürlich auch über eine fertige .exe erfreut.


Wäre froh, wenn ein Programmier oder ein anderer Möchtegern-Programmier eine passende Lösung finden könnte... 4 Tage Google brachten sie mir nicht :wink:

BTW, ich hab auch ein .ico für die .exe, welches ich zumindest mit dem in 1. erwähnten bat-to-exe-Konverter an die erstellte .exe binden kann. Wäre nett, wenn Ähnliches auch bei vorgeschlagenen Lösungen möglich wäre.

Zur Information: Mein Skript- und Programmier-Sprachen-Wissen basiert zu 99% auf Google, und eben ein paar (scheinbar?) guten Seiten, die ich von dort aus gefunden habe.

Und zur Information für die, die hier nichts verstehen: Auch nicht schlimm. Aber bitte keine Posts, die nur aus soetwas bestehen:
hÄ,,, wus ÄN scgeiß labarst dudA?!?1

Verfasst: 5. Mär 2007, 00:42
von Theseus
Darf man den Sinn hinterfragen? Wozu du eine Startbare Datei brauchst, um eine URL aufzurufen?

Soll mit Hilfe dieser URL/EXE dann der Browser geöffnet werden?

Vllt wären ein paar Hintergrundinfos hilfreich, um zu sehen, was das Problem ist. Kannst du das Szenario, wozu du die EXE brauchst ein wenig besser umschreiben?

Verfasst: 5. Mär 2007, 00:47
von Estron Dekal
Theseus hat geschrieben:Darf man den Sinn hinterfragen? Wozu du eine Startbare Datei brauchst, um eine URL aufzurufen?

Soll mit Hilfe dieser URL/EXE dann der Browser geöffnet werden?

Vllt wären ein paar Hintergrundinfos hilfreich, um zu sehen, was das Problem ist. Kannst du das Szenario, wozu du die EXE brauchst ein wenig besser umschreiben?
Köhö... ähm... Sagen wir, ich möchte die .exe eines Programmes möglichst unkompliziert austauschen, bzw. von anderen austauschen lassen, wenn das ganze einmal fertig ist. Daher, ich möchte bewirken, dass die Verknüpfungen auf die ersetzte, also hier gefragte, .exe verweisen. Dabei geht's mir aber nicht um die Verknüpfungen, sondern um Dinge, die tiefer in Win liegen - mMn zu tief :wink: [size=0]Und die ganze Wahrheit verrate ich höchsten per PN.[/size]

P.S.: Ich kenne noch eine Alternativ-Lösung, aber die würde einen Prozess erfordern, der permanent aktiv ist, deswegen würde ich lieber auf diese ausweichen.

Ach, Edit:

Die .exe soll genau das bewirken, was passiert, wenn ich sonst auf eine .exe klicke, dass ist (zumindest bei mir) standardmäßig Öffnen des Standardbrowsers in neuem Fenster bzw. Tab und aufrufen der Seite in diesem.

Verfasst: 5. Mär 2007, 00:49
von Corey
Das hab ich mich auch gefragt.Bin zwar kein Programmierer, aber so wie es für mich rüberkommt, könntest du dir einfach ein Script erstellen mit dem du den gewünschten Browser und die gewünschte URL aufrufst.Mit AutoIt ist selbiges zum Beispiel ziehmlich einfach ;).

Also entweder verstehe ich es nicht oder du änderst einfach die Startseite :D?!Scheint wohl eher ersteres zu sein :).

Verfasst: 5. Mär 2007, 00:51
von Estron Dekal
Corey hat geschrieben:Das hab ich mich auch gefragt.Bin zwar kein Programmierer, aber so wie es für mich rüberkommt, könntest du dir einfach ein Script erstellen mit dem du den gewünschten Browser und die gewünschte URL aufrufst.Mit AutoIt ist selbiges zum Beispiel ziehmlich einfach ;).
Hm... Werde mir das mal ansehen... aber wie gesagt, es muss halt .exe sein.

Edit: Hört sich auf jeden Fall gut an... Ich werde versuchen, mich die Woche mal kurz darin einzuarbeiten und dann das gewünschte Skript zu erstellen und zur .exe umzuwandeln. Auf jeden Fall schonmal Danke dafür! :)

Edit-2:
Corey hat geschrieben:Also entweder verstehe ich es nicht oder du änderst einfach die Startseite :D?!Scheint wohl eher ersteres zu sein :).
Ersteres, denke ich. Gehe mal in den Ordner deiner Favoriten, klicke dort auf einen und guck, was passiert. Der Browser öffnet sich mit der in der Datei angegebenen Adresse. Die Startseite bleibt aber unverändert. (Also: Wenn ich dich JETZT richtig verstanden habe, dann hast du mich nicht richtig verstanden.)

Verfasst: 5. Mär 2007, 00:55
von Corey
Achso...wenn es unausweichlich .exe sein muss kann ich leider nicht weiterhelfen.Da wird AutoIt dir auch kein zufriedenstellendes Ergebnis liefern, da man damit (meines Wissens nach) nur Scripte erstellen kann was (meines Wissens nach) keine .exe-Dateien sein können.

Edit:Ja, wenn du das Script problemlos in eine .exe Datei verwandeln kannst ist ja gut :).Und eine Woche braucht man auch nicht.Paar Stunden und man hats ;), ist echt ziehmlich einfach.Falls ich weiterhelfen konnte:Gern:).

Verfasst: 5. Mär 2007, 00:56
von Estron Dekal
Von Corey verlinkter Wiki-Artikel hat geschrieben:Die selbstinstallierende Version 3.1.1 enthält einen Compiler , mit dem sich die erstellten Scripte in ausführbare Dateien (exe-Datei) konvertieren lassen, sowie die Erweiterung AutoItX, das ActiveX-Abläufe unterstützt (WSH / VBScript). Der Compiler ermöglicht das Verwenden von eigenen Icons.
Öhm?

Verfasst: 5. Mär 2007, 00:57
von Corey
Estron Dekal hat geschrieben:
Von Corey verlinkter Wiki-Artikel hat geschrieben:Die selbstinstallierende Version 3.1.1 enthält einen Compiler , mit dem sich die erstellten Scripte in ausführbare Dateien (exe-Datei) konvertieren lassen, sowie die Erweiterung AutoItX, das ActiveX-Abläufe unterstützt (WSH / VBScript). Der Compiler ermöglicht das Verwenden von eigenen Icons.
Öhm?
Scheint doch genau das zu sein, wonach du suchst oder täusch ich mich?

Verfasst: 5. Mär 2007, 01:00
von Estron Dekal
Corey hat geschrieben:Achso...wenn es unausweichlich .exe sein muss kann ich leider nicht weiterhelfen.Da wird AutoIt dir auch kein zufriedenstellendes Ergebnis liefern, da man damit (meines Wissens nach) nur Scripte erstellen kann was (meines Wissens nach) keine .exe-Dateien sein können.
Darauf bezog ich mein. Du empfiehlst mir ein Programm, und kennst die (für mich und diese Diskussion) fast relevanteste Funktion davon nicht? Ab an den Henker mit dir :D
Edit:Ja, wenn du das Script problemlos in eine .exe Datei verwandeln kannst ist ja gut :).Und eine Woche braucht man auch nicht.Paar Stunden und man hats ;), ist echt ziehmlich einfach.Falls ich weiterhelfen konnte:Gern:).
"Paar Stunden", also am Stück, impliziert bei mir aber, dass ich erst nach einer Woche auf jeden Fall Ergebnisse habe :wink:
Corey hat geschrieben:
Estron Dekal hat geschrieben:
Von Corey verlinkter Wiki-Artikel hat geschrieben:Die selbstinstallierende Version 3.1.1 enthält einen Compiler , mit dem sich die erstellten Scripte in ausführbare Dateien (exe-Datei) konvertieren lassen, sowie die Erweiterung AutoItX, das ActiveX-Abläufe unterstützt (WSH / VBScript). Der Compiler ermöglicht das Verwenden von eigenen Icons.
Öhm?
Scheint doch genau das zu sein, wonach du suchst oder täusch ich mich?
Ganz genau! :)

Verfasst: 5. Mär 2007, 01:03
von Corey
Ja, ich kenn mich wie gesagt sogut wie nicht mit Programmieren aus.Mir war nur irgendwann mal langweilig und ich hab mir das Ding mal runtergeladen und bisschen rumgebastelt...damit konnte man sich auch einiges erleichtern in FW :P .Ne Scherz *g*

Verfasst: 5. Mär 2007, 01:07
von Estron Dekal
Corey hat geschrieben:Ja, ich kenn mich wie gesagt sogut wie nicht mit Programmieren aus.Mir war nur irgendwann mal langweilig und ich hab mir das Ding mal runtergeladen und bisschen rumgebastelt...damit konnte man sich auch einiges erleichtern in FW :P .Ne Scherz *g*
Naja, gerade weil ich denke, damit kann man sich wohl (am PC) sowieso noch einiges erleichtern, wäre es mir lieber, mich (am Wochenende) noch etwas mehr darin einzuarbeiten... Ich lade es mir erstmal runter und überleg mir über der Woche wohl vorerst, warum mein Laufwerk keine digitale Audio-Übetragung machen will...

Edit: OMG... ich sehe gerade, dass Autohotkey ein Programm ist, das sich von AutoIt ableitet... Und auf Autohotkey bin ich schon mal gestoßen...

Verfasst: 5. Mär 2007, 09:03
von langeweile
1. sowas wie bat-to-exe schmeiss am besten erstmal weg, und vergiss das

2. es gibt je nach programmier sprache befehle, mit denen du andere, externe programme aufrufen kannst, dass ist kein problem, damit kannst du den browser starten, und dort eine url aufrufen, solange das immer windows ist, und du den ie benutzt ist das kein problem

3. kauf dir ein gutes buch wie man Pascal, C++ oder sonst irgendeine Sprache lernt, und lern sie einfach, dass ist besser als google zu nutzten

4. ansonsten, in c sähe sowas etwa so aus:

Code: Alles auswählen

#include <stdlib.h>

main()
{
	system("C:\Programme\Internet Explorer\iexplorer.exe www.freewar.de");
}
könnte man nun erweitern, indem man bei windows den standart-browser abfragen lässt, oder bei main argumente zu läßt, damit verschiedenen browser oder urls aufgerufen werden können, aber im großen und ganzen ist das, was oben beschrieben wird

Verfasst: 5. Mär 2007, 23:15
von fireburn
Mit der Winapi und C/C++: Default Browser aus der Registry holen mit RegOpenKeyEx() und RegQueryValueEx() (der findet sich in "SOFTWARE\\Classes\\HTTP\\shell\\open\\command"), dann mit CreateProcess() und URL als Parameter starten. Oder noch einfacher sollte das mit der shellapi.h und ShellExecute() gehen, dann kann man sich das mit der registry und createprocess sparen. Ist in diesem Fall auch völlig ausreichend.

Verfasst: 5. Mär 2007, 23:34
von langeweile
so, hab den quell-code mal nach fireburns vorschlägen mal modifiziert, sollte echt mal wieder ein bischen c programmieren

Code: Alles auswählen

#include <shellapi.h>

main()
{
    ShellExecute(NULL,"open","http://www.freewar.de",NULL, NULL, SW_NORMAL);

}


Verfasst: 6. Mär 2007, 01:28
von Estron Dekal
langeweile hat geschrieben:1. sowas wie bat-to-exe schmeiss am besten erstmal weg, und vergiss das
Ich habe die Stunden gezählt, bis das erwähnt wird :wink:

(Naja, wenigstens konnte ich das soweit auch verstehen und selber durchführen :oops: )
2. es gibt je nach programmier sprache befehle, mit denen du andere, externe programme aufrufen kannst, dass ist kein problem, damit kannst du den browser starten, und dort eine url aufrufen, solange das immer windows ist, und du den ie benutzt ist das kein problem
IE und Windows sowieso... aber wie kriege ich Win dazu, diese Sprachen zu interpretieren? Und dann auch noch aus einer .exe?
3. kauf dir ein gutes buch wie man Pascal, C++ oder sonst irgendeine Sprache lernt, und lern sie einfach, dass ist besser als google zu nutzten
Wenn ich Zeit dazu habe. Und Geld. Das wird irgendwann sein, versprochen* :wink:

*Gelogen, ich hab nie Zeit[size=0]Von 31 gecovert...[/size]
4. ansonsten, in c sähe sowas etwa so aus:

Code: Alles auswählen

#include <stdlib.h>

main()
{
	system("C:\Programme\Internet Explorer\iexplorer.exe www.freewar.de");
}
könnte man nun erweitern, indem man bei windows den standart-browser abfragen lässt, oder bei main argumente zu läßt, damit verschiedenen browser oder urls aufgerufen werden können, aber im großen und ganzen ist das, was oben beschrieben wird
Ähm... schön und gut... wie kriege ich das denn dann in meine .exe rein? Hm...
fireburn hat geschrieben:Mit der Winapi und C/C++: Default Browser aus der Registry holen mit RegOpenKeyEx() und RegQueryValueEx() (der findet sich in "SOFTWARE\\Classes\\HTTP\\shell\\open\\command"), dann mit CreateProcess() und URL als Parameter starten. Oder noch einfacher sollte das mit der shellapi.h und ShellExecute() gehen, dann kann man sich das mit der registry und createprocess sparen. Ist in diesem Fall auch völlig ausreichend.
Ich weiss, es fragt bestimmt irgendetwas in der Registry ab. Vermutlich den Standard-Browser... Und sonst weiss ich nichts.