ERLEDIGT
NEIN
NEIN
ANTWORTEN
13
13
ZUGRIFFE
1607
1607
EMPFEHLEN
-
Hallo!
ich möchte in Delphi eine *.exe schreiben, die später auf CD gebrannt ein Autorun darstellen soll. In diese exe will ich lediglich einen Button einbauen, der dann eine html-datei im Standard-Browser öffnet.
Wie bekomme ich das hin?
Vielen Dank!
-
13.04.03 18:50 #2
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Zum Öffnen einer URL im Standardbrowser:
Code :1 2 3
uses ShellApi; // ... ShellExecute(Handle, 'open', 'http://www.tutorials.de', '', '', 0);
-
Gibt es so auch eine Möglichkeit, beispielsweise den CD-Rom-Ordner zu öffnen?
-
13.04.03 22:08 #4
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Klar geht das auch, das müsste dann aber (logischerweise) etwas anders aussehen:
Damit öffnest Du dann den Windows Explorer mit dem angegebenen Verzeichnis.Code :1 2 3 4 5 6
var cd_dir: String; begin // ... cd_dir := ExtractFilePath(Application.ExeName); // erst holst Du Dir den Pfad der eigenen Anwendung ShellExecute(Handle, 'explore', PChar(cd_dir), '', '', 0);
Mehr über ShellExecute findest Du unter http://msdn.microsoft.com/library/de...ellexecute.asp
-
Vielen Dank!
Der von dir gepostete Code setzt aber vorraus, dass die exe bereits auf der CD ist, oder?
-
13.04.03 22:37 #6
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Der Code von mir öffnet den Explorer mit dem Verzeichnis, in dem die Anwendung selbst liegt. Wenn Du unabhängig davon immer das CDROM-Laufwerk haben willst, müsstest Du erst noch mit diesem Tipp den Buchstaben des Laufwerks rausfinden. Das kannst Du dann über ShellExecute wie gehabt öffnen.
-
Das heißt, es sollte sich bei deiner lösung in jedem fall das verzeichnis öffnen, indem die datei liegt - egal ob cdrom oder nicht.
Wenn ja, dann hab ich was falsch gemacht - bei mir passiert nichts.
Hier mal der Quellcode:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
unit autostarter; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls, StdCtrls, ShellApi; type TForm1 = class(TForm) Image1: TImage; Button1: TButton; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; cd_dir: String; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ShellExecute(Handle, 'open', 'index.html', '', '', 0); end; procedure TForm1.Button3Click(Sender: TObject); begin cd_dir := ExtractFilePath(Application.ExeName); ShellExecute(Handle, 'explore', PChar(cd_dir), '', '', 0); end; procedure TForm1.Button2Click(Sender: TObject); begin halt; end; end.
Vielen Dank auch für die bisherige Hilfe!
-
17.08.03 05:25 #8
- Registriert seit
- Aug 2003
- Ort
- Berlin
- Beiträge
- 1.362
ich würde gerne wissen warum bei mir der shell ececute nicht funktioniert.
also ich hab gegoogelt und diverse sachen finden können ( ich such nen tut wo mir beschrieben wird wie ich bei delphi einen button erstelle der per knopfdruck eine mir virgegebene url öffnet) mit unter waren da schon fertige quell texte für buttons.
das problem war nur wenn ich es getestet habe hat er shellexecute nicht akzeptiert oder uses etc.
warum is das so und wo mach ich da fehler ?
würde mich freuen wenn mir daraufhin jemand antwortet ..
Gruß Andy.C
-
17.08.03 11:56 #9
- Registriert seit
- Apr 2001
- Ort
- Hamburg
- Beiträge
- 1.309
Ohne deinen Code können wir da nicht viel tun, da hier bestimmt keiner hellsehen kann

Um Shellexecute() zu nutzen, muss zuvor die Unit ShellApi eingebunden werden. Sowas sollte aber auch in der Delphi-Hilfe stehen.--
GNU/Linux - Weil man echte Freunde nicht kaufen kann
-
17.08.03 16:12 #10
- Registriert seit
- Aug 2003
- Ort
- Berlin
- Beiträge
- 1.362
jo das stimmt wohl ... ich such das mal bzw. versuch es mal zu rekonstroieren. bis gleich.
Andy.C
-
17.08.03 16:15 #11
- Registriert seit
- Aug 2003
- Ort
- Berlin
- Beiträge
- 1.362
procedure TForm1.Button2Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Form3.Show;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
uses ShellApi;
// ...
ShellExecute(Handle, 'open', 'http://www.tutorials.de', '', '', 0);
end;
end.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ bei den ersten zwei buttons funktioniert alles nur eben beim dritten nicht mit dem uses shellApi etc.
ich bin kommpletter anfänger und wüsst jetzt nur zu gern wo liegt mein gehler.
Andy.C
-
17.08.03 16:21 #12
- Registriert seit
- Aug 2003
- Ort
- Berlin
- Beiträge
- 1.362
jo ich habs selber hinbekommen.
das uses ShellApi; kommt ohne das uses in die obere kategorie bei uses rein
der rest eben wie beim mir im fehler zu sehen bei dem button.
für all die jenigen die intresse haben wie das geht!
~~~~~~~~~~~~~~~
unit liquid;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, InvokeRegistry, Rio, SOAPHTTPClient, OleCtrls, SHDocVw,
MPlayer, ExtCtrls, ToolWin, ComCtrls, ShellApi;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Label1: TLabel;
Label2: TLabel; ........ // rest abgeschnitten
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
der button
~~~~~~~~~~~~~~~~~~~
procedure TForm1.Button4Click(Sender: TObject);
begin
ShellExecute(Handle, 'open', 'http://www.tutorials.de', '', '', 0);
end;
end.
~~~~~~~~~~~~~~~~~~~
soo der fehler ist behoben--
danke trtzodem für die versuchte hilfe.
Andy.C
-
09.12.03 23:17 #13freakone_media Tutorials.de Gastzugang
hallo ich habe den code
auch einmal ausprobiert.Code :1 2
cd_dir := ExtractFilePath(Application.ExeName); // erst holst Du Dir den Pfad der eigenen Anwendung ShellExecute(Handle, 'open', PChar(cd_dir), nil, nil, SW_SHOWNORMAL);
Er funktioniert einwandfrei. Kann mir noch jemand sagen, wie ich den Pfad weiter führen kann?
Denn wenn die Datei im Hauptverzeichnis der CD liegt (wäre bei mir E:\) müsste ich um bestimmte Dateien zu öffnen noch in ein Anderes Verzeichnis wechseln.
Wie funktioniert das?
edit: habs schon gefunden. Die Variable cd_rom hat ja den Datentyp string.
Geändert von freakone_media (10.12.03 um 22:48 Uhr)
-
06.06.07 20:36 #14
- Registriert seit
- Apr 2007
- Beiträge
- 1
Hallo.. gehört zwar nicht ganz zum thema aber ich find leider nu nirgens im netz eine antwort auf diese frage...
ich würde gern in Delphi 6 oder höher (Benutz Delphi 7) abfragen, ob ein exe (Anwendung) bereits gestartet ist... der wert der zurück gegeben werden soll ist halt 0 für nicht gestartet und 1 für gestartet...
eigendlich ganz einfach aber wohl so eifnach das man an der lösung jedesmal vorbei rennt..
weiß da jemand wie ichd as hinbekomm mit funktion oder wie auch imemr
ich weiß das shellexecute eine anwendung ausführt aber wie fragt man diese dann ab..
Sinn der sache ist.. ein programm was die ganze zeit im Hintergrund laufen soll und jede minute oder sekunde (wie auch immer per timer ja zu lösen) abfragt ob sichd as programm nciht beendet hat durhc einen fehler.. falls ja dies wieder startet aber ich interessiere mich nur für die abfrage der anwendung die gestartet ist (sein soll)
Danke für hilfen
____
EDIT:
hat sich erledigt...
wer wissen will wie sollte heir gucken:
http://www.delphipraxis.net/topic309...ng+laeuft.htmlGeändert von SiegfriedXX (25.06.07 um 18:15 Uhr)
Ähnliche Themen
-
Windows XP - Link in eMail öffnet falschen Browser
Von tombe im Forum Microsoft WindowsAntworten: 2Letzter Beitrag: 18.11.10, 14:03 -
Downloadfenster des Browser öffnet sich nicht!
Von easyJoe im Forum PHPAntworten: 6Letzter Beitrag: 03.10.06, 21:04 -
HTML-Formular öffnet falschen Browser.
Von cameeel im Forum Coders TalkAntworten: 7Letzter Beitrag: 24.05.05, 09:31 -
Mein Browser öffnet manche seiten nicht
Von Cadillac im Forum Internet, DSL & FlatrateAntworten: 3Letzter Beitrag: 05.07.03, 13:49 -
Pop up Menü öffnet sich nicht im Browser
Von sunshineworld im Forum Javascript & AjaxAntworten: 1Letzter Beitrag: 26.06.02, 11:04





Zitieren
Login





