Game prüft ob Programm läuft.Game sucht Datei. Game soll unten rechts in die Leiste :D

  • GM 8
  • Game prüft ob Programm läuft.Game sucht Datei. Game soll unten rechts in die Leiste :D

    'n Abend.
    Hab da mal drei Fragen.
    Weiß nicht ob das etwas komplizierter ist... ?( soll alles bisschen mit Windoof zusammen arbeiten.

    Also, mein Game soll prüfen ob ein bestimmtes Programm läuft. Oder ein Prozess,
    ist das irgendwie möglich? Ob Prozesse/Programme laufen sieht man ja meist im Task-Manager,
    kann das der GM irgendwie abfragen oder so?
    ..dann...

    Das Game soll ein paar Dateien suchen heißt: Es soll erkennen auf welcher Festplatte Windoof installiert ist.

    ..und...

    Ich glaube jeder Windows Nutzer kennt unten rechts diese kleine Leiste wo sich Uhrzeit,Datum ect. befinden,
    ich möchte mein Programm in diese Leiste minimieren lassen. Heißt: Von der Task-Leiste verschwinden, ABER
    weiterlaufen und halt rechts in dieser Liste als kleines Symbol erscheinen.


    LG Luca.

    PS: Das hab ich jetzt mal nicht in den kleine Fragen Thread gepostet :D :D

    EDIT(!!!!):
    Zu meiner ersten Frage, das Game sollte den Prozess auch beenden können.
    @7rust-dev

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Lucke 01 ()

  • RE: Game prüft ob Programm läuft.Game sucht Datei. Game soll unten rechts in die Leiste :D

    Hi

    das meiste kannst du nur mit einer Dll realisieren

    Lucke 01 schrieb:


    Also, mein Game soll prüfen ob ein bestimmtes Programm läuft. Oder ein Prozess,
    ist das irgendwie möglich? Ob Prozesse/Programme laufen sieht man ja meist im Task-Manager,
    kann das der GM irgendwie abfragen oder so?
    Check Process Dll

    Lucke 01 schrieb:


    Das Game soll ein paar Dateien suchen heißt: Es soll erkennen auf welcher Festplatte Windoof installiert ist.

    Dazu schaust du dir folgendes Kapitel in der Hilfe an:
    Dateien (finden)
    [hide=Auszug aus der Game Maker Hilfe]
    Um Dateien im Dateisystem zu ändern kannst du folgende Funktionen nutzen:

    file_exists(fname) Gibt zurück, ob die Datei mit dem angegebenen Namen existiert (true) oder nicht (false).
    file_delete(fname) Löscht die Datei mit dem angegebenen Namen.
    file_rename(oldname,newname) Benennt die Datei mit dem Namen oldname in newname.
    file_copy(fname,newname) Kopiert die Datei namens fname in newname.
    directory_exists(dname) Gibt zurück, ob das angegebene Verzeichnis existiert oder nicht.
    directory_create(dname) Erstellt ein Verzeichnis mit dem angegebenen Namen (inklusive dem Pfad), falls es nicht existiert.
    file_find_first(mask,attr) Gibt den Namen der ersten Datei zurück, die mit der Maske und den Attributen übereinstimmt. Existiert keine solche Datei, wird ein Leerstring zurückgegeben. Die Maske kann einen Pfad und Auslassungszeichen enthalten, z.B. "C:\Temp\*.doc". Die Attribute geben die zusätzlichen Dateien an. (Die normalen Dateien werden also immer zurückgegeben, wenn sie mit der Maske übereinstimmen). Folgende Konstanten können als Attribute verwendet werden:
    fa_readonly schreibgeschützte Dateien
    fa_hidden versteckte Dateien
    fa_sysfile Systemdateien
    fa_volumeid Volume-ID Dateien
    fa_directory Verzeichnisse
    fa_archive archivierte Dateien
    file_find_next() Gibt den Namen der nächsten Datei zurück, die mit der vorher angegebenen Maske und den Attributen übereinstimmt. Existiert keine solche Datei, wird ein Leerstring zurückgegeben
    file_find_close() Muss nach allen file_find-Funktionen aufgerufen werden, um Speicher freizugeben.
    file_attributes(fname,attr) Gibt zurück, ob die Datei alle Attribute hat, die in attr angegeben sind. Benutze Kombinationen der oben angegebenen Konstanten.[/hide]

    Lucke 01 schrieb:


    Ich glaube jeder Windows Nutzer kennt unten rechts diese kleine Leiste wo sich Uhrzeit,Datum ect. befinden,
    ich möchte mein Programm in diese Leiste minimieren lassen. Heißt: Von der Task-Leiste verschwinden, ABER
    weiterlaufen und halt rechts in dieser Liste als kleines Symbol erscheinen.

    System Tray Dll


    MfG xxskxx
    -
  • Danke, funkt super, jetzt ist nur noch das Problem mit dem User.
    Kann man den auch abfragen ?

    Das Problem mit dem User?

    GML-Quellcode

    1. environment_get_variable("USERPROFILE")

    Ist das Verzeichnis des aktuellen Benutzers.


    Das hier hat nen funktionierenden Download und unten im Thread auch nen netten Beispielcode. Weiß aber nicht obs mit GM8 läuft.
  • Lucke 01 schrieb:

    Das ist die Datei die ich runtergeladen habe <.<

    Dann machst du irgendetwas falsch. Ich habs mit GM8 Pro versucht und es funktioniert

    Ich hab dir ein Beispiel geschrieben.
    So damit nichts schiefläuft und das Thema endlich gelöst ist:

    1. Lade dir die Datei oben.
    2. Entzippe die Datei
    3. Öffne die ProcessViewer.gm6 Datei
    4. Erstelle ein neues Object
    5. Füge folgenden Code in den Create Event (Hab ich gerade geschrieben):

    GML-Quellcode

    1. PV_Init();
    2. process = ""; PV_FindFirst(); process += PV_GetFile();
    3. while (PV_FindNext() != 0) {
    4. process += "#" + PV_GetFile();
    5. }
    6. show_message(process);


    Und wenn du schon eine Fehlermeldung hast, dann schreib wenigstens hin was drin steht... ich kann ja nicht hellsehen
    -
  • Lucke 01 schrieb:

    Klasse, und wie beende ich damit jetzt einen Prozess? :D


    Also jetzt mach doch mal was selber. Öffne die Datei und schau dir alle dir zu Verfügung stehenden Funktionen an.
    Welche könnte es sein? Wenn du sie nicht findest öffne jedes Script der Dll und lies den Kommentar ;)
    -
  • Lucke 01 schrieb:

    Also jetzt mach doch mal was selber. Öffne die Datei und schau dir alle dir zu Verfügung stehenden Funktionen an. Welche könnte es sein? Wenn du sie nicht findest öffne jedes Script der Dll und lies den Kommentar;)

    Also ich habs jetzt versucht <.< auch gelesen ect. aber ich bekomme es nicht hin. Grrhh.


    Naja immerhin hast du es versucht :)
    Nach dem du die Dll initialisiert hast (PV_Init(); ) Nimmst du die Funktion PV_Terminate(); um einen Prozess zu beenden

    MfG xxskxx
    -
  • Benutzer online 1

    1 Besucher