Thread SSL Server im Hintergrund des Scripts (9 answers)
Opened by YAPD at 2016-03-09 15:47

YAPD
 2016-03-11 01:37
#184130 #184130
User since
2015-09-20
146 Artikel
BenutzerIn

user image
HI Bianca,

vielen Dank für deinen Beitrag. Ich habe mir Win32::Process nun
einmal angeschaut und das wäre auch im Prinzip genau das Richtige.
Allerdings habe ich noch die ein oder andere Frage & hoffe, du
kannst mir hier helfen :

Der Code sieht jetzt folgendermaßen aus :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
my $Prozess_Struktur;    

my $Aufruf_Prozesse_Struktur = Win32::Process::Create( $Prozess_Struktur,
"C:\\Strawberry\\perl\\bin\\perl.exe",
"perl D:\\PERL\\Programmierung\\Testumgebung\\Tray.pl",
0 ,
NORMAL_PRIORITY_CLASS,
"." ) || die ErrorReport( );

my $Prozess_Nummer_Struktur = $Prozess_Struktur -> GetProcessID( );

print "Prozess - Nr. der Struktur : $Prozess_Nummer_Struktur" , "\n";

# -----------------------------------------------------------------------------

my $Prozess_SSL_Server;

my $Aufruf_Prozesse_SSL_Server = Win32::Process::Create( $Prozess_SSL_Server,
"C:\\Strawberry\\perl\\bin\\perl.exe",
"perl D:\\PERL\\Programmierung\\Testumgebung\\SSL_Server.pl",
0 ,
NORMAL_PRIORITY_CLASS,
"." ) || die ErrorReport( );

my $Prozess_Nummer_SSL_Server = $Prozess_SSL_Server -> GetProcessID( );

print "Prozess - Nr. der SSL - Servers : $Prozess_Nummer_SSL_Server" , "\n";

$Prozess_SSL_Server -> Suspend( );
$Prozess_SSL_Server -> Resume( );
$Prozess_SSL_Server -> Wait( INFINITE );


Im Prinzip ruft der Code hier die beiden Scripts nur nebeneinander auf, was so schon OK ist.

Ich möchte aber den SSL Server aus dem Tray - Menu heraus aufrufen,
wenn ich auf den Menu - Punkt "Aktiviere Verbindung" klicke.

Das Script für das Traymenu sieht so aus :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!"C:\Program Files (x86)\Active Perl 5.20.1\bin\perl.exe"

# ----------------------------------------------------------------------------------------------------------------------------

use strict;
use warnings;

use Win32::GUI();

# ----------------------------------------------------------------------------------------------------------------------------

my $menu_popup;
my $debug = 1;

$menu_popup = Win32::GUI::Menu -> new( "&File" => "File" ,
">SSL - Server" => { -name => "SSL_Server" , -state => 0 , -onClick => sub{ -1 } } ,
">>Aktiviere Verbindung" => { -name => "Aktivierung" , -state => 0 , -onClick => sub{ $menu_popup -> { 'Trennung' } -> Enabled( 1 );
$menu_popup -> { 'Aktivierung' } -> Enabled( 0 ); } } ,
">>Schliesse Verbindung" => { -name => "Trennung" , -state => 0 , -onClick => sub{ $menu_popup -> { 'Trennung' } -> Enabled( 0 );
$menu_popup -> { 'Aktivierung' } -> Enabled( 1 ); } } ,
"> -" => { -name => "Trenner" , -state => 1 , -onClick => sub{ 0 } } ,
">Server - Verwaltung" => { -name => "Server_Verwaltung" , -state => 0 , -onClick => sub{ -1 } } ,
">Benutzer - Verwaltung" => { -name => "Benutzer_Verwaltung" , -state => 0 , -onClick => sub{ &Mailing( ) } } ,
"> -" => { -name => "Trenner" , -state => 1 , -onClick => sub{ 0 } } ,
">Ende" => { -name => "Ende" , -state => 0 , -onClick => sub{ -1 } } ,
);

$menu_popup -> { 'Trennung' } -> Enabled( 0 );

my $main = Win32::GUI::Window -> new( -name => 'Main' ,
-text => '' ,
-menu => $menu_popup ,
-width => 0 ,
-height => 0
);

sub NI_RightClick( ) {
$main -> TrackPopupMenu( $menu_popup -> { File } , Win32::GUI::GetCursorPos( ) );
}

my $icon = new Win32::GUI::Icon( 'Symbol.ico' );

my $ni = $main -> AddNotifyIcon( -name => "NI" ,
-icon => $icon ,
-tip => "Hello"
);

Win32::GUI::Dialog( );

# -----------------------------------------------------------------------------

sub Main_Terminate {

return -1;
}

# -----------------------------------------------------------------------------

sub Main_Minimize {

$main -> Disable();
$main -> Hide();
return 1;
}

# -----------------------------------------------------------------------------

sub NI_Click {

$main -> Enable();
$main -> Show();
return 1;
}

# -----------------------------------------------------------------------------

1;


Wenn ich den SSL Server Prozess in einer Sub - Routine des Tray Scripts aufrufe, stoppt dieses leider wieder und das Menu ist deaktiviert.

Hast du / habt ihr vielleicht einen Tipp ?

Viele Grüße
YAPD
Yet Another Perl Developer

View full thread SSL Server im Hintergrund des Scripts