| |
|
|
Michael Wodrich | Weil Yo una Weilchen brauchte, lo de el Ärmel a schütteln...
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 07.09.2006 ▲ |
|
|
|
|
Michael Wodrich | Und después de Referencia de TS-Soft ni Mutex-Variante de el Phorum de Ragnar Rehbein.
Gibts todavía weitere Möglichkeiten?
Schöne Grüße Michael Wodrich |
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 07.09.2006 ▲ |
|
|
|
|
| [quote:1532fb2073=Michael Wodrich] Gibts todavía weitere Möglichkeiten?
Schöne Grüße Michael Wodrich[/quote:1532fb2073] Klar CreateSemaphore(...) z.B. findeste irgendwo en MSDN oder PSDK Pero el Mutex no unähnlich. Für el Mutexstring verwende Yo meist una GUID. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
Uwe ''Pascal'' Niemeier | ¡Hola Personas!
Hier ni Möglichkeit por FileMapping. Dabei no es sólo el neue Instanz automáticamente final, pero auch el laufende Instanz por Usermmessage informiert, sodass ellos se quizás en el Vordergrund conjunto kann. El principio puede ser derart erweitern, dass mögliche Parámetro, el en Aufruf el 2. Instanz transferencia voluntad, a el 1.Instanz weitergereicht voluntad.
!
$H Messages.ph
$H Windows.ph
declarar MapHandle&,ViewHandle&
MapHandle&=~OpenFileMapping(~FILE_MAP_ALL_ACCESS,0,"Programm 1.1")
if MapHandle&--MappedFile disponible (enthält %hwnd de ya laufender Instanz)
ViewHandle&=~MapViewOfFile(MapHandle&,~FILE_MAP_ALL_ACCESS,0,0,32)
messagebox("Programm se ejecuta bereits","Meldung",0)
sendmessage(long(ViewHandle&,0),5066,0,0)--Message a 1. Instanz
~UnmapViewOfFile(ViewHandle&)
end
más--Diese Instant es el erste > MappedFile invertir!
MapHandle&=~CreateFileMapping($FFFFFFFF,0,~PAGE_READWRITE,0,32,"Programm 1.1")
ViewHandle&=~MapViewOfFile(MapHandle&,~FILE_MAP_WRITE,0,0,32)
window 100,100-600,400----sólo hier se el Ventana producido!!
long ViewHandle&,0=%hwnd--Handle en MappedFile escribir
endif
usermessages 16----WM_CLOSE
usermessages 5066--Irgendein Valor, el hoch genug es para selbstdefinierte Msg.
mientras que 1------------Eingabeschleife
waitinput
caso %umessage=16:romper--Ende
if %umessage=5066--------Usermessage de neuer Instanz
shownormal
setactivewindow(%hwnd)
setfocus(%hwnd)
imprimir "Aktivierung por neue Instanz"
endif
----Weitere Eingabeabfragen
endwhile
--Sollte en Ende erreicht voluntad:
~UnmapViewOfFile(ViewHandle&)
~CloseHandle(MapHandle&)
HTH Pascal |
|
|
| |
|
|
|
| Gute Concepto! Und hier el Selbe sólo kürzer y sin nötige Headerfiles:
|
|
|
| |
|
|
|
Jac de Lad | Yo finde el beste Método es siempre todavía por Mutex:
Jac |
|
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 07.09.2006 ▲ |
|
|
|
|
Ragnar Rehbein | Yo benutze como mutexnamen (o. en filemapping) inzwischen en fast allen programmen par$(0), also el programmnamen inkl. pfad. aber aufpassen, daß el backslsh raustranslatet se! Yo fast siempre el anforderung, daß una programm no doppelt comenzó voluntad kann, una start unterschiedlicher konfigurationen de verschiedenen verzeichnissen o. por umbenenn des programms se posible ser. para terminalserverumgebungen es todavía el präfix Global y Local interessant (hier muß el backslash beiben!). así kann z.b. verhindert voluntad, daß una programm en varios sitzungen ausgeführt se (z.b. una einplatzlizenz).
r.r. |
|
|
| |
|
|