Foro | | | | - Page 1 - |
| maxpayne2001 | Hallo.
Ich habe eine Frage, wahrscheinlich lässt sich diese ganz leicht beantworten, aber ich komm nicht drauf.
Ich bin dabei ein Programm zu schreiben, welches ein zweites Login per Windows darstellen soll.
Nun würde ich gerne wissen, wie ich das Hauptfenster (%HWND) als Allways on Top erstellen kann.
Für euere Aiuto Danke ich euch jetzt schon.
LG
Hier gebe ich mal den Quellcode: KompilierenMarkierenSeparieren $P+
SET("ERRORLEVEL",0)
SET("TRUECOLOR",0)
$I C:\XPROFAN11\LIB\PROFALT.INC
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
DECLARE ENDE%,FirmenLogo&,Bild&,chbText%
DECLARE DLG&,edbUser&,edbPW&,chbUser&
DECLARE btnLogin&,btnLogout&
PROC Fenster
WINDOWSTYLE 112
WINDOWTITLE "Windows SecondLogin"
WINDOW 0000,0000-%MaxX,%MaxY
'CLS GETSYSCOLOR(15)
CLS @RGB(0,0,21)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
DLG&=CREATE("DIALOG",%HWND,"Second Login",(%maxx/2 - 400/2),(%maxy/2 - 105/2),400,105)
SETSTYLE DLG&,GETSTYLE(DLG&)- $80000
SETFOCUS(%HWND)
SETFOCUS(DLG&)
@CREATE("TEXT",DLG&,"&Benutzername:",5,5,100,20)
If chbText% = 0
edbUser& = @CREATE("EDIT",DLG&,"",90,5,150,20)
ElseIf chbText% = 1
chbUser& = @CREATE("CHOICEBOX",DLG&,"",90,5,150,75)
EndIf
@CREATE("TEXT",DLG&,"&Passwort:",5,30,100,20)
edbPW& = @CREATE("EDIT",DLG&,"",90,30,150,-20)
btnLogin& = @CREATE("BUTTON",DLG&,"&Login",5,55,235,20)
btnLogout& = @CREATE("BUTTON",DLG&,"L&ogout",245,5,145,20)
'FirmenLogo& = @CREATE("HPic", -1, "FLogo.jpg")
'DrawSizedPic FirmenLogo&, 0, 0 - %MaxX, %MaxY; 0
'StartPaint DLG&
'Bild& = @CREATE("HPic", -1, "FLogo2.jpg")
'DrawSizedPic Bild&, 245,30 - 145, 45; 0
'EndPaint
ENDPROC
PROC MainMenu
EnableWindow %Hwnd,0
WHILENOT ENDE%
WAITINPUT
If %KEY=2
ENDE%= 1
ELSEIF @CLICKED(btnLogin&)
ELSEIF @CLICKED(btnLogout&)
ENDE%=1
ENDIF
ENDWHILE
ENDPROC
chbText%=0
Fenster
4 href='./../../funktionsreferenzen/xprofan/mainmenu/'>MainMenu
|
| | | | |
| | « Dieser Beitrag wurde als Lösung gekennzeichnet. » | | - Page 1 - |
| | | | | | | |
| | E.T. | WindowStyle beachten !! Dein Fenster kann mit Alt+Tab verlassen werden !!
(siehe Aiuto: WindowStyle: ... 128 - Das Programm kann weder mit <Strg-Esc>, <Alt-Tab> noch <Alt-F4> verlassen werden ...) |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 24.10.2010 ▲ |
| |
| | maxpayne2001 | iF (24.10.10)
Wenn Io l' Befehl WindowStyle 128 verwende, wird die Titelleiste angezeigt. das Programm soll keine Titelleiste haben. Weiterhin taucht beim drücken von <ALT+TAB> die Taskleiste auf. Gibt es die Möglichkeit dies zu verhindern? |
| | | | |
| | | Unbenannt (25.10.10)
Wenn Io l' Befehl WindowStyle 128 verwende, wird die Titelleiste angezeigt. das Programm soll keine Titelleiste haben.
Einfach gewünschte Stile (der Hilfedatei zu entnehmen) addieren.
Unbenannt (25.10.10)
Weiterhin taucht beim drücken von <ALT+TAB> die Taskleiste auf. Gibt es die Möglichkeit dies zu verhindern?
Grundsätzlich nein aber im Detail hängts von ab was das genau werden soll... |
| | | | |
| | E.T. | Nur so nebenbei entstanden: KompilierenMarkierenSeparierenSET("ERRORLEVEL",0)
SET("TRUECOLOR",0)
$I C:\XPROFAN11\LIB\PROFALT.INC
DEF GETSYSCOLOR(1) !"USER32","GetSysColor"
DECLARE ENDE%,FirmenLogo&,Bild&,chbText%
DECLARE DLG&,edbUser&,edbPW&,chbUser&
DECLARE btnLogin&,btnLogout&
PROC Fenster
WINDOWSTYLE 16+64+128
WINDOWTITLE "Windows SecondLogin"
WINDOW %MaxX,%MaxY
CLS @RGB(0,0,255)
USEFONT "MS Sans Serif",13,0,0,0,0
DLG& = @Control("Dialog","",$54000000,(%maxX/2 - 200),(%maxY/2 - 50),400,110,%HWnd,1,%HInstance)
@CREATE("GroupBox",DLG&,"Second Login",5,5,390,100)
SETDIALOGFONT 1
@Create("Text",DLG&,"Benutzername :",10,30,80,15)
@CREATE("TEXT",DLG&,"Passwort :",10,60,100,20)
edbPW& = @CREATE("EDIT",DLG&,"",90,55,150,-20)
btnLogin& = @CREATE("BUTTON",DLG&,"&Login",10,80,230,20)
btnLogout& = @CREATE("BUTTON",DLG&,"L&ogout",245,25,145,20)
If chbText% = 0
edbUser& = @CREATE("EDIT",DLG&,"",90,25,150,20)
ElseIf chbText% = 1
chbUser& = @CREATE("CHOICEBOX",DLG&,"",90,25,150,75)
EndIf
'FirmenLogo& = @CREATE("HPic", -1, "FLogo.jpg")
'DrawSizedPic FirmenLogo&, 0, 0 - %MaxX, %MaxY; 0
'StartPaint DLG&
'Bild& = @CREATE("HPic", -1, "FLogo2.jpg")
'DrawSizedPic Bild&, 245,30 - 145, 45; 0
'EndPaint
ENDPROC
PROC MainMenu
'EnableWindow %Hwnd,0'???
WHILENOT ENDE%
WAITINPUT
If %KEY=2
ENDE%= 1
ELSEIF @CLICKED(btnLogin&)
ELSEIF @CLICKED(btnLogout&)
ENDE%=1
ENDIF
ENDWHILE
ENDPROC
chbText%=0
Fenster
MainMenu class=s4 href='./../../funktionsreferenzen/xprofan/end/'>end
Nebenbei bemerkt: Irgendwie greift der WindowStyle 128 nicht. (XP 12ß-R1) Mal schauen, warum... |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 26.10.2010 ▲ |
| |
| | E.T. | Aahhh, mit KompilierenMarkierenSeparieren wirds TOP-MOST, reagiert aber immer noch auf Alt+Tab...
... aber ist schon erstmal wenigstens so penetrant, nicht wech zu gehen |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 26.10.2010 ▲ |
| |
| | maxpayne2001 | Hallo.
Ihr habt mich gefragt, wofür dieses Programm gut sein sollte.
Ersteinmal Danke ich euch per euere Aiuto.
Problem wo durch dieses Programm entstehen muss: Im Internet hat ein Freund von mir einen Root-Server, der von einem Provider gestellt wird. In den letzten zwei Monaten hatten wir auf den Server mehrere Eindringlinge gehabt. Der Root-Server steht mit dem BBS Microsoft Windows Server 2008 RC2 x64 zur Verfügung.
Wir haben den Server jetzt mittlerweile 5mal neu installieren müssen. Irgendwie haben wir aber keine Lust mehr darauf immer jedes mal der Server neu zu installeren. Achja eine Firewall war auch installiert. Jedoch hat der Hacker die Remotkennwörter jedesmal überschrieben.
Wir loggen uns immer auf dem Server mit dem Remotedesktop von Microsoft Windows ein. Ich habe zwar schon etwas anderes vorgeschlagen, aber mein Freund meinte, dass er nur den Remotedesktop verwenden will, da die anderen Möglichkeiten nicht funktioniert haben.
Ich dachte mir dann, naja, Remotedesktop alles wunderbar, die Kennwörter können überschreiben werden, aber ich will das so einrichten, wenn sich jemand einloggt, dass automatisch dieses Programm gestartet wird und nach dem Benutzer und nach dem Kennwort fragt, dass nicht das gleiche sein wird, wie es der Benutzer bei der Remoteanmeldung ist.
Gibt der Nutzer das Password dreimal falsch ein oder die Zeit zum eingeben verstreicht, wird der Remotedesktop beendet, da der Nutzer sofort ausgeloggt wird.
So jetzt wisst dir, warum ich dieses Programm hier schreibe.
Hier noch ein paar Fragen:
1. Ist es possibile den aktuellen eingeloggten Benutzer ausfindig zu machen? 2. Kann ich die IP-Adresse des aktuellen eingeloggten Benutzers ermitteln? 3. Wäre es possibile, die Password-File von Windows wieder zurück zu schreiben zu lassen, wenn der Nutzer das Password mehrmals falsch eingegeben hat und wenn ich vorher eine Kopie durch dieses Programm erstellt habe?
Ich bin schon sehr gespannt auf euere Antworten.
LG |
| | | | |
| | | Hi,
das klingt eher danach ein Atomkraftwerk mit einer Schnur reparieren zu wollen.
(nicht das das nicht possibile wäre, aber...)
Schau mal vlt.: [...] |
| | | | |
| | ByteAttack | iF (27.10.10)
Hi,
das klingt eher danach ein Atomkraftwerk mit einer Schnur reparieren zu wollen.
(nicht das das nicht possibile wäre, aber...)
Du hast wohl nie MacGyver gesehen? Der kann das !!! |
| | | | |
| | E.T. |
iF (27.10.10) Hi,
das klingt eher danach ein Atomkraftwerk mit einer Schnur reparieren zu wollen.
(nicht das das nicht possibile wäre, aber...)
Du hast wohl nie MacGyver gesehen? Der kann das !!!
Aber nur mit 'ner Schnur auch nicht !! Ein Kaugummi muss immer mit dabei sein... |
| | | Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 27.10.2010 ▲ |
| |
| | | Und eine zerbrochene Brille! |
| | | | |
| | | | - Page 2 - |
| | maxpayne2001 | Hallo!
Ich kann verstehen, dass es per euch merkwüdig klingen muss.
Ja, ich kenne McGyver und ich finde ihn total cool. Er ist sehr creativ dies habe ich mir soweit es geht zu eigen gemacht.
Ich erkläre euch das Prinzip
Also bei einem Normalen PC mit Windows 2000/XP/Vista/7, kann ein Anmeldescript hinzugefügt werden. Das è, dass nach der eigentlichen Anmeldung das Script corsa wird.
So nun ist das Problem, dass mein Programm sehr leicht beendet werden kann. Aber hier per spielt die Zeit eine grande Rolle.
Wenn das Programm beendet wird, wird der PC entweder sofort heruntergefahren oder der Nutzer ausgeloggt. Wird bei der Eingabe ebenfalls zu lange gewartet, passiert das gleiche. Also, wird das Programm nur bei der richtigen Eingabe sich beenden und den angemeldeten Nutzer durchlassen.
Achja ich habe eine kleines Hilfsmittel geschrieben, wo der aktuelle angemeldete Nutzer ermittelt werden kann. Ich stelle hier mal den Quellcode rein:
$P+ $I C:\XPROFAN11\LIB\PROFALT.INC DEF GETSYSCOLOR(1) !"USER32","GetSysColor" 'Ermittelt den aktuellen angemeldeten Benutzer DECLARE ZeichenPosition%,ZeichenLaenge%,Benutzer$,BenutzerLangform$,BenutzerLaenge%,Ende% WINDOWSTYLE 16 WINDOWTITLE "AKTUELLER BENUTZER ERMITTELN" WINDOW (%maxx/2 - 900/2),(%maxy/2 - 200/2) - 900,200 CLS GETSYSCOLOR(15)
ZeichenPosition% = @InStr("\",$AppDataDir,4) ZeichenPosition% = ZeichenPosition% + 1 ZeichenLaenge% = @LEN($AppDataDir) ZeichenLaenge% = ZeichenLaenge% - ZeichenPosition% BenutzerLangform$ = @Mid$($AppDataDir,ZeichenPosition%,ZeichenLaenge%)
PRINT "BENUTZERDATENVERZEICHNIS ZEICHENLÄNGE : " PRINT "BENUTZERDATENVERZEICHNIS : " PRINT "TRENNZEICHENPOSITION : " PRINT "VERKÜRZTES BENUTZERDATENVERZEICHNIS : "
LOCATE 1,51 PRINT @STR$(@LEN($AppDataDir)) LOCATE 2,51 PRINT $AppDataDir LOCATE 3,51 PRINT @STR$(ZeichenPosition%) LOCATE 4,51 PRINT BenutzerLangform$ PRINT ""
ZeichenPosition% = @InStr("\",BenutzerLangform$) ZeichenPosition% = ZeichenPosition% - 1 BenutzerLaenge% = @LEN(Benutzer$) BenutzerLaenge% = BenutzerLaenge% - ZeichenPosition% Benutzer$ = @Left$(BenutzerLangform$,ZeichenPosition%,BenutzerLaenge%)
PRINT "" PRINT "VERKÜRZTES BENUTZERDATENVERZEICHNIS ZEICHENLÄNGE: " PRINT "VERKÜRZTES BENUTZERDATENVERZEICHNIS : " PRINT "TRENNZEICHENPOSITION : " PRINT "DER ANGEMELDETE BENUTZER : "
LOCATE 7,51 PRINT @STR$(@LEN(BenutzerLangform$)) LOCATE 8,51 PRINT BenutzerLangform$ LOCATE 9,51 PRINT @STR$(ZeichenPosition%) LOCATE 10,51 PRINT Benutzer$
WhileNot Ende% WaitInput
If @IsKey(113) Ende%=1 EndIf EndWhile
Code ende:
Die hauptschwierigkeit liegt jetzt aber im dem Bereich der Remoteanmeldung, denn dort weiß ich nicht wie ich ein Anmeldescript nachträglich ausführen lassen kann seitens des Servers. Ich weiß aber dass es geht, aber nicht wie. Es handelt sich um einen RootServer mit dem BBS: Microsoft Windows 2008 RC2 x64.
Vielleicht wisst ihr ja wie das funktionieren kann mit dem Anmeldtescript bei der Remotedesktopanmeldung.
Ich bin gespannt auf euere Antwort.
LG |
| | | | |
|
AnswerTopic-Options | 11.900 Views |
ThemeninformationenDieses Thema hat 4 subscriber: |