PB EasySetup - Setup für eigenes Programm erstellen

Anwendungen, Tools, Userlibs und anderes nützliches.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

ts-soft hat geschrieben:Da wird ein Mutex erstellt, wie ich oben beschrieben habe :lol:
Tja, da werde ich wohl um Mutex nicht herumkommen.
Ich habe die Source-Datei studiert, war aber nicht ganz so hilfreich. Als ich mich das letzte Mal an Assembler versucht habe, galt noch der Z80 (CPU) als State of the art. :mrgreen:
Sobald ich das Konzept von Mutex durchsachaut habe, werde ich mich wohl an die Arbeit machen. Ich hoffe irgendjemand kann mich diesbezüglich "erleuchten". :wink:

Übrigens bräuchte ich dann zu möglichst vielen Programmiersprachen die Codebeispiele, da EasySetup ja nicht nur von PureBasic Nutzern genutzt wird.
Zuletzt geändert von Thorsten1867 am 12.09.2006 20:27, insgesamt 1-mal geändert.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

ASM und PureBasic Syntax für Mutex haste doch jetzt, für Profan kannste
auch haben, wenn gewünscht. Für Delphi findeste im Kochbuch für Delphi ein
Mutex-Beispiel. Wirste schon zusammenkriegen, so einen simplen API-Aufruf

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Von Mutex in den Programm einzubauen halte ich gar nichts.
Das Setup sollte alles packen können und nicht abhängig sein das in den Programmen auch noch ein Mutex zu programmieren ist.

Liefer über WindowTitel oder ClassName suchen.

FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

yo genau.

ein setup, das ich nicht unabhängig verwenden kann,
das ich nicht einfach auf mein fertiges projekt aufsetzen kann,
würde ich überhaupt nicht verwenden.

....und damit steh ich gewiß nicht allein.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

>> Liefer über WindowTitel oder ClassName suchen.

Such mal im engl. Forum, dort haben die einen Link zu einer MS-Aussage gepostet, warum das sehr unsicher ist.
Es sei denn, man nutzt einen eigenen Classennamen, der aber schwerer zu erstellen ist, als ein Mutex :mrgreen:

Normallerweise erfolgt nur eine Aufforderung, das alle noch offenen
Anwendungen zu schließen sind, der Rest ist nur eine Zusatzfunktion, die nur
einen Sinn erfüllt, wenn sie Sicher ist, also mit Mutex, Semaphore oder Atom.
Nicht mit Fenstertext. :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

gut, ts, wenn du so schlau bist, dann mach doch ne möglichkeit.

als grenze wäre es noch denkbar,
die fertige .exe zu wrappen mit nem kleinen proggi das den mutex erzeugt.

aber vom programmierer erwarten, manuell aufs setup-program abzustimmen, halte ich für kontraduktiv.

damit bekommt er das nicht auf ner heft CD los.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

@Kaeru Gaman
Zusatzfunktion, nicht erforderlich!

Ansonste reagiert er auf den Fehler, wenn das überschreiben nicht klappt,
wäre natürlich sinnvoll, vorher alles was überschrieben werden soll, erstmal
als Rollback zu sichern.

Unsinnige Fehlermeldungen ausgeben, bloß weil so ein Fenstername oder
Classenname gefunden wird, ist Unproffessionell
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

Ich denke es spricht nichts dagegen, beides zu verwenden.
Wenn kein Mutex existiert, verwendet man halt die unsichere Methode.
Die Mutex-Methode würde sowieso in der Sparte "Erweiterte und fortgeschrittene Funkionen" landen, die den Normaluser nicht weiter stören sollten.

Falls jemand einen Link oder einen Codeschnippsel zur unsicheren Merhode hat, wäre es schön, wenn er sie hier posten würde, dann muss ich nicht das ganze Forum absuchen. :wink:
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
mk-soft
Beiträge: 3845
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag von mk-soft »

Bastelei

Code: Alles auswählen

Procedure FindAllWindow()

  WindowName.s
  ClassName.s
  temp.s
  
  hwnd = GetWindow_(WindowID(0),#GW_HWNDFIRST)
  *buffer = AllocateMemory(16384)
  While hwnd
    len = GetWindowText_(hwnd,*buffer, 16384)
    WindowName = PeekS(*buffer, len)
    len = GetClassName_(hwnd , *buffer, 16384)
    ClassName = PeekS(*buffer, len)
    temp = WindowName + " - " + ClassName
    Debug temp
    hwnd = GetWindow_(hwnd,#GW_HWNDNEXT)
  Wend

EndProcedure
FF :wink:
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Bei den meisten Editoren usw. ändert sich der Fenstertitel im
Programmablauf, dann lieber drauf verzichten und nur auf Fehler beim
überschreiben reagieren. So in der Form, ist das Setup für mich oft nicht
mehr nutzbar.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten