Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Free Basic dateien öffnen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 09.09.2009, 18:20    Titel: Free Basic dateien öffnen Antworten mit Zitat

Hallo erst mal,
Bin neu eingestiegen in free basic also nicht böse für meine Fragen sein grinsen
Ich würde gerne wissen wie man mit freebasic .exe .bat und registry dateien öffnen kann ? mit dem Kopf durch die Mauer wollen
_________________
www.STylaNik.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 09.09.2009, 18:22    Titel: Antworten mit Zitat

Indem man sie aufruft... verwundert

Was genau hast Du vor? Bat- oder Exe-Dateien aus einem Programm heraus starten?

Schau mal hier:
http://www.freebasic-portal.de/befehlsreferenz/shell-393.html
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 09.09.2009, 18:26    Titel: Antworten mit Zitat

Hi und willkommen im Forum.

Mit FB selbst kannst du keine Dateien öffnen, zumindest nicht in diesem Sinn.
Exe-Dateien werden aus bas-Dateien erzeugt, welche den Code beinhalten.
Bat-Dateien kannst du mit einem Editor öffnen und bearbeiten, geht aber auch mit FB (Open).
Registryeinträge kannst du mit Fb auch bearbeiten, allerdings nur mit der WinAPI. Würde ich aber nicht empfehlen, da kann man sehr schnell sehr viel kaputt machen.

Poste doch mal, was du überhaupt machen willst, dann können wir auch besser darauf eingehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 09.09.2009, 21:17    Titel: Antworten mit Zitat

Ich habe 3 verschiedene registry oder bat dateien die ändern meinen desktop hintergrund !
Nun möchte ich ab 7uhr den ersten hintergrund ab 12 den 2ten und ab 5 uhr den 3ten Hintergrund ! /(Und das möchte ich mit diesen dateien machen!)
Also nicht alles mit freebasic !
(ist nur zurübung ) ich will jetzt auch keinen fertigen code !
_________________
www.STylaNik.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 09.09.2009, 21:24    Titel: Antworten mit Zitat

http://www.freebasic-portal.de/befehlsreferenz/shell-393.html
und dann noch ne frage zu dem (shell Befehl)
kann man das auch mit cmd machen also batch ?

Schon mal danke für euro Informationen !!!
_________________
www.STylaNik.de.vu


Zuletzt bearbeitet von StylaNik am 09.09.2009, 21:31, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 09.09.2009, 21:25    Titel: Antworten mit Zitat

Meinst du das so?
Code:
DIM AS INTEGER Stunde, StundeAlt=-1
DO
 SLEEP 10
 Stunde = VAL(LEFT(TIME,2))
 IF Stunde <> StundeAlt Then
  IF Stunde = 7 THEN
   SHELL "Hintergr.bat xyz.reg"
  ELSEIF Stunde = 12 THEN
   SHELL "notepad.exe"
  ELSEIF Stunde = 17 THEN
   SHELL "cmd.exe"
  END IF
 END IF
 StundeAlt = Stunde
LOOP UNTIL INKEY <> ""

_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 09.09.2009, 21:33    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Meinst du das so?
Code:
DIM AS INTEGER Stunde, StundeAlt=-1
DO
 SLEEP 10
 Stunde = VAL(LEFT(TIME,2))
 IF Stunde <> StundeAlt Then
  IF Stunde = 7 THEN
   SHELL "Hintergr.bat xyz.reg"
  ELSEIF Stunde = 12 THEN
   SHELL "notepad.exe"
  ELSEIF Stunde = 17 THEN
   SHELL "cmd.exe"
  END IF
 END IF
 StundeAlt = Stunde
LOOP UNTIL INKEY <> ""

nein ich bekomme das auch noch komplizirter hin happy LOL
das Programm sollte aber immer im hintergrund laufen !
oder ist das das hir (LOOP UNTIL INKEY <> "")
_________________
www.STylaNik.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 09.09.2009, 22:06    Titel: Antworten mit Zitat

Das Programm läuft so lange, bis du im Programmfenster eine Taste drückst. Du kannst die Zeile
Code:
LOOP UNTIL INKEY <> ""

auch ersetzen durch
Code:
LOOP UNTIL INKEY = CHR(27)

ersetzen. Dann läuft das Programm so lange, bis du ESC drückst. lächeln
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 09.09.2009, 22:18    Titel: Antworten mit Zitat

Code:
dim h as String
Print "In welchem LaufwerkBUCHSTABEN ist Ihr XP installiert?"
Input "Bitte nur einen Buchstaben eingeben keine sonderzeichen !  " , h
sleep 1500

Run  h , ":\WINDOWS\system32\cmd.exe"
sleep



Wie hätte das aussehen müssen mit dem Kopf durch die Mauer wollen
Ich selbst hätte es mit einem If lösen können da entweder C oder e infrage kommt als laufwerksbuchstabe aber das ist zu unproffesionell grinsen
_________________
www.STylaNik.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 09.09.2009, 22:34    Titel: Antworten mit Zitat

Code:
SHELL ENVIRON("ComSpec")

_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 09.09.2009, 22:39    Titel: Antworten mit Zitat

Außerdem wäre es total sinnlos, nur nach dem laufwerksbuchstaben zu suchen. Ich kann mir vorstellen, dass windows öfters in einem anderen pfad als auf einem anderen laufwerk liegt. gerade in den neuesten versionen (vor allem 64 bit) dürfte daher deine methode (nicht aber sebastians methode) fehlschlagen. dafür bietet windows selbst umgebungsvariablen (wie die variable ComSpec) an, womit man immer am richtigen ziel landet.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 09.09.2009, 22:45    Titel: Antworten mit Zitat

Nochmal thx mit den Augen rollen
_________________
www.STylaNik.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 957
Wohnort: Austria

BeitragVerfasst am: 09.09.2009, 22:57    Titel: Antworten mit Zitat

Wenn ich dich richtig verstehe willst du ein Programm programmieren, das im Hintergrund versteckt läuft und je nach aktueller Tageszeit den Desktophintergrund entsprechend ändert.

Mit dem Befehl "SHELL" von FreeBasic und entsprechenden REG und BAT Dateien, die du aufrufst (ich nehme einmal an, dass du die REG dazu verwendest das Hintergrundbild in der Registry zu ändern und die BAT um den angezeigten Hintergrund über UpdatePerUserSystemParameters zu aktualisieren) ist das möglich.

Dass man dein Programm nicht sieht bekommst du mit einer einfachen Einstellung des Compilers hin, welche auf folgender Seite wunderbar beschrieben ist: http://www.freebasic-portal.de/freebasic-faq/dos-fenster-im-hintergrund-beseitigen-2.html

Weiters benötigst du natürlich dann eine Endlosschleife, in der immer wieder geprüft wird, wie spät es ist und welches Hintergrundbild gerade aktiv ist. Sobald eine Zeit eintritt, bei der ein anderes Hintergrundbild aktiv werden soll rufst du einfach die beiden Dateien mit SHELL auf.

Damit dein Programm wegen der Endlosschleife nicht 100% CPU-Auslastung benötigt, musst du übrigens ein möglichst üppiges SLEEP in die Schleife einbauen (z.B. "SLEEP 20" um die Prozessorbelastung zu reduzieren; Für deine Anwendung ist aber auch das noch ziemlicher nonsens).

Ich will dich jetzt nicht von deinem Vorhaben abbringen, aber für den Anfang nimmst du dir nicht unbedingt etwas einfaches vor.
Außerdem ist das Programm, wenn du es auf diesem Weg realisierst nicht unbedingt sehr professionell: Wenn du die REG Datei ausführst (sprich jedes Mal wenn der Hintergrund geändert wird) kommt diese Meldung "Wollen sie die Informationen wirklich zur Registrierung hinzufügen?" (oder so ähnlich), die auch kommt, wenn man auf die Datei im Explorer doppelklickt. Weiters erscheint normalerweise beim Starten der BAT Datei kurz ein schwarzes DOS-Fenster (was z.B. stört wenn gerade Vollbildanwendungen wie Spiele laufen), usw. usf....

Technische Details, wie du den Desktophintergrund änderst findest du z.B. hier: http://blogs.msdn.com/coding4fun/archive/2006/10/31/912569.aspx

Das wichtigste bei deinem Programm ist aber, dass du soviel lernst, dass du danach ein professionelles Programm, dass die Aufgaben ohne externe REG und BAT Datei erledigt, programmieren kannst - und das ist viel wichtiger als ein paar kleine Mängel.

In diesem Sinne viel Spaß beim Programmieren!
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
StylaNik



Anmeldungsdatum: 09.09.2009
Beiträge: 7

BeitragVerfasst am: 12.09.2009, 00:31    Titel: Antworten mit Zitat

Danke ST_W für deine Ausführliche Antwort hat mich sehr zum überlegen gebracht !
_________________
www.STylaNik.de.vu
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz