Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
Verfasst am: 09.09.2009, 18:20 Titel: Free Basic dateien öffnen |
|
|
Hallo erst mal,
Bin neu eingestiegen in free basic also nicht böse für meine Fragen sein
Ich würde gerne wissen wie man mit freebasic .exe .bat und registry dateien öffnen kann ?  _________________ www.STylaNik.de.vu |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 09.09.2009, 18:26 Titel: |
|
|
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 |
|
 |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
Verfasst am: 09.09.2009, 21:17 Titel: |
|
|
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 |
|
 |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
Verfasst am: 09.09.2009, 21:33 Titel: |
|
|
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 LOL
das Programm sollte aber immer im hintergrund laufen !
oder ist das das hir (LOOP UNTIL INKEY <> "") _________________ www.STylaNik.de.vu |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
Verfasst am: 09.09.2009, 22:18 Titel: |
|
|
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
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  _________________ www.STylaNik.de.vu |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 09.09.2009, 22:39 Titel: |
|
|
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 |
|
 |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 957 Wohnort: Austria
|
Verfasst am: 09.09.2009, 22:57 Titel: |
|
|
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 |
|
 |
StylaNik
Anmeldungsdatum: 09.09.2009 Beiträge: 7
|
Verfasst am: 12.09.2009, 00:31 Titel: |
|
|
Danke ST_W für deine Ausführliche Antwort hat mich sehr zum überlegen gebracht ! _________________ www.STylaNik.de.vu |
|
Nach oben |
|
 |
|