Windows fragen welche Progs. gerade laufen ?????
Übersicht

![]() |
dominikBetreff: Windows fragen welche Progs. gerade laufen ????? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Altes Problem:
also mein prog soll in eine datei schreiben wie lange es gelaufen ist. das hier ist ein kleiner auschnitt davon. aber jetzt wird in jedem durchlauf eine neue zeile in die datei geschreiben, aber am ende soll ja nur eine einzigste zeile/zahl mit der zeit drinne steht dazu muss ich die vorherigen löschen aber in der online hilfe kann ich dazu keinen befehl finden. Code: [AUSKLAPPEN] Repeat
Cls Text 0, 20, "Bisher vergange Zeit:" gesamtzeit$ = MilliSecs() - anfangszeit gesamtzeit$ = Mid$(gesamtzeit$,1,4) Text 0, 40, "sec. " + gesamtzeit$ WriteLine datei1, gesamtzeit$ Flip Until KeyDown(1) |
||
- Zuletzt bearbeitet von dominik am So, Mai 09, 2004 21:55, insgesamt 3-mal bearbeitet
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
SeekFile datei1, 0
Dann wird die bestehende Zeile überschrieben... |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
aha danke, ich dacht damit kann man die position der datei selber verändern. | ||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein ständiger Dateizugriff während der Laufzeit empfiehlt sich nicht. Besser die Zeit zu Beginn des Programms einmal in eine Variable speichern und beim Beenden das Ergebnis von MilliSecs()-startzeit speichern. | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Neues Problem:
ja eigentlich schon nur soll das prog in den autostart ordner und möglichst im hintergrund laufen. der benutzer soll des garnet finden des halb wird auch net ordnugsgemäß beendet sondern mittendrinn einfach abgebrochen. darum muss es die daten bei jedem durchlauf speichern. wird nen kleiner aufpasser für meine computer wenn ich auf abschlussfahrt fahre werd ich den gleich mal testen. des prog schreib auf wann es gestartet wird und wie lang es läut damit ich weiß wann wielang jemand an meinenm pc rum spielt *gg*. mal scheuen wie weit ich des noch ausbauen kann ob man da vll noch irgentwie mit einbauen kann welche progs gestartet wurden. müsste doch vill über den Tastk Manager rauszubekommen sein der legt seine infos doch sicher auch irgentwo in dateien ab. wenn jemand weiß wie man des mit dem prog im hinter grund laufen lassen macht, oder wie man die laufenden progs rausbekommt wär ich ihm sehr dankbar. wenns funtz wäre wirklich geil***** ![]() |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
weiß niemand wo der Task Manager im Windoof ordner ist und wo der seine dateine ablegt?
oder hat sonst jemand nen idee wie des gehen könnte? |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
mit der WinAPI kriegst du das hin.
Code von mir (unoptimiert und für B+): Code: [AUSKLAPPEN] win = CreateWindow("Test",10,10,500,400,Desktop(),7) list = CreateListBox(0,0,490,390,win) hWnd = GetDesktopWindow() tit$ = get_title$(hWnd) Dim tasks(500) ttt=0 hWnd = CallDLL("User32.dll","GetActiveWindow") ; eigene Fenster ID herausfinden hWnd = GetWindow(hWnd,2) ; nächste task id herausfinden (anhand der alten) Repeat t$=get_title$(hWnd) ; Titel zur Task ID herausfinden If t$<>"" Then AddGadgetItem list,t$ ; zur liste hinzufügen tasks(ttt)=hWnd ; fenster id merken ttt=ttt+1 EndIf hWnd = GetWindow(hWnd,2) ; nächste task id herausfinden (anhand der alten) Until hWnd=0 Repeat WaitEvent(10) Select EventID() Case $401 If EventSource()=list Then BringWindowToTop( tasks(SelectedGadgetItem(list))):ShowWindow( tasks(SelectedGadgetItem(list)),3 ) ; angeklicktes Fenster fokussieren Case $803 End End Select Until KeyHit(1) Function get_title$(hWnd) style = GetWindowLong(hWnd,-16) style = style And ($10000000 Or $800000) result = GetWindowTextLength(hWnd)+1 ;Titellänge des fensters title=CreateBank(result) ;Bank für Pointer erstellen result = GetWindowText(hWnd,title,result) ;Bank beschreiben lassen t$="" For j=0 To BankSize(title)-1 ;Titel ausgeben t$=t$+Chr$(PeekByte(title,j)) Next FreeBank title If t$<>"" And style = ($10000000 Or $800000) Then Return t$ End Function user32.decls hat Folgendes geschrieben: .lib "user32.dll" GetDesktopWindow%():"GetDesktopWindow" GetWindowTextLength%(hWnd%):"GetWindowTextLengthA" GetWindowText%(hWnd%,bank*,cch%):"GetWindowTextA" GetWindow%(hWnd%,wCmd%):"GetWindow" GetWindowLong%(hWnd%,wIndx%):"GetWindowLongA" GetParent%(hWnd%):"GetParent" BringWindowToTop%(hWnd%):"BringWindowToTop" IsWindow%(hWnd%):"IsWindow" IsWindowVisible%(hWnd%):"IsWindowVisible" CloseWindow%(hWnd%):"CloseWindow" ShowWindow%(hWnd%,wCmd%):"ShowWindow" die DECLS hab ich von mir einfach rüberkopiert. Hab kaum Zeit sry MfG |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um heraus zu finden welche Programme gestartet wurden
kannste auch die Dateiendung EXE auf dein Programm umlenken und das startet dann wieder die richtige EXE mit den Parametern die es selbst bekommen hat . Nur so ne Idee . Dafür mußte aber in der Registry rumspielen aber die kann man ja vorher sichern ![]() Kann man auch mit anderen Dateiendungen machen aber dann gehts nur beim direkten öffnen mit doppelklick . |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ D2006: danke schonmal. hab zwar im mom nur die 2D Demo werd mir aber in der nächsten Zeit (1 - 2 Wochen) die B+ Vollversion kaufen. kann werd ichs mal testen und dir wieder beischeid sagen.
@Markus2: Du meinst man soll anstatt der Exe nur ne verknüpfung auf den desktop legen und die Richtigen Progs alle in einen ordner die dann wieder von BB aufgerufen werden? Is logisch aber wie kann mir die verknüpfungen übergeben? wie merke ich welches proggestartet wurde? Und ich kann ja nicht nur die Exe dateine verschieben sondern muss ja alle dateien u um Proggehören auch mit verschieben weil sonst nix mehr geht. da is vom prinzip her glaub ihc des andere besser. trotzdem danke. Außerdem auch unauffälliger ![]() PS: erklär des mit dem Parameter übergeben mal. |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein , anders .
Haste mal nen Blick in die Registry geworfen ? (regedit) Unter HKEY_CLASSES_ROOT\exefile\shell\open\command Dort könnte man auch nen BB Programm eintragen was wieder ein Programm startet . Jedes mal wenn das BB Prog. gestartet wird kann man ein Log schreiben . Parameter bekommt man in Blitz in CommandLine$() In den Verknüpfungen kann man das auch so machen das da ne EXE vorgeschaltet wird aber bitte kommt jetzt NICHT auf krumme Gedanken ! Alle Laufenden Programm heraus zu finden geht auch aber dazu habe ich nur ein Source in VB6 und der nutzt viels APIs . |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ D2006: du hast da nen fehler im prog. und zwar rufst du
Code: [AUSKLAPPEN] hWnd = GetDesktopWindow()
auf aber die function gibts garnet. genauso wie mit Code: [AUSKLAPPEN] hWnd = GetWindow(hWnd,2)
|
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
doch die gibt, musst nur die decls in den Userlibs Ordner setzen.
Vorraussetzung hierfür ist allerdings B+ oder B3D. MfG |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab ich und ha b die decl auch in des ordner kopiert und User32.dll gennant. funtz aber trotzdem net. | ||
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst sie user32.decls nennen ![]() |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
"function getwindow not found" was heißt des? ich hab BB+ erst seit gestern.
kanns sein das nicht alle bb versionnen die gleichen befehle haebn? oder die befehle andere namen habe. |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
und was heißt invalid blitz 2d bufferhandle ??? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
was heisst nicht alle BB versionen die gleichen befehle?
Ausser BB+ hat garkeines getwindow Kann es sein dass du nicht geupdated hast? und invalid blitz3d bufferhandle -> ich vermute mal du machst ein "setbuffer ..." auf etwas was garnicht existiert |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
wie kann man setbuffer auf was machen?
ich kenn nur aus B2D Code: [AUSKLAPPEN] setbuffer Backbuffer()
repeat flip until ... angeblich soll text ja noch ganznormal wie in B2D functionieren. bei mir tuts des aber net. da kommt immer "invalid B2D Buffer handle" |
||
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
also kann mir hier keinr sagen wie des mit dem text in BB+ funtzt?
ich find die hilfe, bei BB+, auch nich grade sehr aufschlussreich. acxh und was haißt "invalid blitz 2d bufferhandle"????? |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group