/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Terminal server (eller Citrix Server)
Fra : Michael Vilhelmsen


Dato : 01-03-04 13:58

Hej

Kan jeg finde ud af, om et program afvikles på en terminal server (eller en
Citrix server) i D5 ent. ?

Michael



 
 
Thomas Eg Jørgensen (01-03-2004)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 01-03-04 17:25


"Michael Vilhelmsen" <smom22@hotmail.com> wrote in message
news:40433358$0$126$edfadb0f@dread11.news.tele.dk...
> Kan jeg finde ud af, om et program afvikles på en terminal server (eller
en
> Citrix server) i D5 ent. ?
>

Har netop haft brug for næsten det samme:

function KillTask(ExeFileName: string): Integer;
const
PROCESS_TERMINATE = $0001;
var
ContinueLoop: BOOL;
FSnapshotHandle: THandle;
FProcessEntry32: TProcessEntry32;
begin
Result := 0;
FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

while Integer(ContinueLoop) <> 0 do
begin
if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
UpperCase(ExeFileName))) then
Result := Integer(TerminateProcess(
OpenProcess(PROCESS_TERMINATE,
BOOL(0),
FProcessEntry32.th32ProcessID),
0));
ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
end;
CloseHandle(FSnapshotHandle);
end;


Bruger jeg til at sikre at der ikke kører nogle programmer på nogen af
klienterne inden jeg opdatere softwaren via installationsprogrammet....Den
kan du nok modificere lidt til dit formål... husk "tlhelp32" i uses!

PS. ikke min kode, den er tyvstjålet fra en søgning på google...kan desværre
ikke huske hvor...

MVH
Thomas



Michael Vilhelmsen (01-03-2004)
Kommentar
Fra : Michael Vilhelmsen


Dato : 01-03-04 20:05

Det var ikke lige det jeg mente.

Jeg vil gerne finde ud af, om mit program kører på en TS !
Altså om jeg er en bruger som har logget på en TS. Jeg skal nemlig behandle
printere lidt anderledes, hvis et program kører på en TS..

Ellers tak.

Michael
"Thomas Eg Jørgensen" <tejo03@kom.auc.dk> skrev i en meddelelse
news:StJ0c.8749$MK2.3307@news.get2net.dk...
>
> "Michael Vilhelmsen" <smom22@hotmail.com> wrote in message
> news:40433358$0$126$edfadb0f@dread11.news.tele.dk...
> > Kan jeg finde ud af, om et program afvikles på en terminal server (eller
> en
> > Citrix server) i D5 ent. ?
> >
>
> Har netop haft brug for næsten det samme:
>
> function KillTask(ExeFileName: string): Integer;
> const
> PROCESS_TERMINATE = $0001;
> var
> ContinueLoop: BOOL;
> FSnapshotHandle: THandle;
> FProcessEntry32: TProcessEntry32;
> begin
> Result := 0;
> FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
> FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
> ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);
>
> while Integer(ContinueLoop) <> 0 do
> begin
> if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
> UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
> UpperCase(ExeFileName))) then
> Result := Integer(TerminateProcess(
> OpenProcess(PROCESS_TERMINATE,
> BOOL(0),
> FProcessEntry32.th32ProcessID),
> 0));
> ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
> end;
> CloseHandle(FSnapshotHandle);
> end;
>
>
> Bruger jeg til at sikre at der ikke kører nogle programmer på nogen af
> klienterne inden jeg opdatere softwaren via installationsprogrammet....Den
> kan du nok modificere lidt til dit formål... husk "tlhelp32" i uses!
>
> PS. ikke min kode, den er tyvstjålet fra en søgning på google...kan
desværre
> ikke huske hvor...
>
> MVH
> Thomas
>
>



Thomas Eg Jørgensen (02-03-2004)
Kommentar
Fra : Thomas Eg Jørgensen


Dato : 02-03-04 17:29


"Michael Vilhelmsen" <Mivi@SHOULD.BE.REMOVED.Hunderupnet.dk> wrote in
message news:_RL0c.10395$PM1.2729@news.get2net.dk...
> > > Kan jeg finde ud af, om et program afvikles på en terminal server
(eller
> > > en Citrix server) i D5 ent. ?
> > Har netop haft brug for næsten det samme:
> >
> > function KillTask(ExeFileName: string): Integer;
> > [en masse kode som ikke løser problemet...]
> Det var ikke lige det jeg mente.
>
> Jeg vil gerne finde ud af, om mit program kører på en TS !
> Altså om jeg er en bruger som har logget på en TS. Jeg skal nemlig
behandle
> printere lidt anderledes, hvis et program kører på en TS..
>

Nåååååååååeh, ja...Mig der læste spørgsmålet på en lidt anden måde Jeg
troede du ville finde ud af om et program blev kørt på en maskine,
eksempelvis af andre brugere....

Men nej, så kan du nok ikke bruge mit forslag

MVH
Thomas



Peter Petersen (03-03-2004)
Kommentar
Fra : Peter Petersen


Dato : 03-03-04 12:38

Hvorfor skal du det? Det plejer da at virke helt normalt..... Eller?
Bare lidt nysgærrig... (Snuset lidt til citrixen men ikke så meget...)

M.v.h.
Peter

"Michael Vilhelmsen" <Mivi@SHOULD.BE.REMOVED.Hunderupnet.dk> wrote in
message news:_RL0c.10395$PM1.2729@news.get2net.dk...
> Det var ikke lige det jeg mente.
>
> Jeg vil gerne finde ud af, om mit program kører på en TS !
> Altså om jeg er en bruger som har logget på en TS. Jeg skal nemlig
behandle
> printere lidt anderledes, hvis et program kører på en TS..
>
> Ellers tak.
>
> Michael



Michael Vilhelmsen (03-03-2004)
Kommentar
Fra : Michael Vilhelmsen


Dato : 03-03-04 13:16

Vi nogle kunder, som har en Windows Terminal Server.

Hos dem kobler op til 30 klienter sig på.
En gang imellem i ny og næ, forsvinder deres printere (det være sig pga.
internet udfald, spool fejl m.m.).

Når det sker, kan Windows Terminal Server finde på, at sende jobbet til en
af de andres klienters printere.
Dette er ikke smart, hvis det nu er mig og jeg er i Odense, mens Windows
Terminal Server skriver til min kollegas printer i Skagen.
Både fordi udskriften så er deroppe, og udskriften muligvis ikke kan skrives
på den printer.

Så jeg vil simpelthen søge efter en printer som SKAL hedde noget med
brugerens LOGIN Navn (da printerne altid hedder Printernavn / LOGINNAVN /
Session #7).
Derved vil jeg kunne tvinge mit program til kun at kunne udskrive på
klientens egne printere !

Jeg har dog ikke observeret dette som et problem for dem som benytter
Citrix.
Det må være en MEGET bedre terminal klient.

Men man ved jo aldrig ......


Derfor

Michael
"Peter Petersen" <the.1@get2net.dk> skrev i en meddelelse
news:4045c3bb$0$95025$edfadb0f@dread11.news.tele.dk...
> Hvorfor skal du det? Det plejer da at virke helt normalt..... Eller?
> Bare lidt nysgærrig... (Snuset lidt til citrixen men ikke så meget...)
>
> M.v.h.
> Peter
>
> "Michael Vilhelmsen" <Mivi@SHOULD.BE.REMOVED.Hunderupnet.dk> wrote in
> message news:_RL0c.10395$PM1.2729@news.get2net.dk...
> > Det var ikke lige det jeg mente.
> >
> > Jeg vil gerne finde ud af, om mit program kører på en TS !
> > Altså om jeg er en bruger som har logget på en TS. Jeg skal nemlig
> behandle
> > printere lidt anderledes, hvis et program kører på en TS..
> >
> > Ellers tak.
> >
> > Michael
>
>



Stig Johansen (04-03-2004)
Kommentar
Fra : Stig Johansen


Dato : 04-03-04 07:00

Michael Vilhelmsen wrote:

> Jeg har dog ikke observeret dette som et problem for dem som benytter
> Citrix.
> Det må være en MEGET bedre terminal klient.
>
> Men man ved jo aldrig ......

Men så vidt jeg husker, købte M$ en del aktier i Citrix for en del år siden,
så....

--
Med venlig hilsen
Stig Johansen

Klaus Petersen (05-03-2004)
Kommentar
Fra : Klaus Petersen


Dato : 05-03-04 00:28

> Jeg har dog ikke observeret dette som et problem for dem som benytter
> Citrix.
> Det må være en MEGET bedre terminal klient.

Er det dog ikke bare typisk at microsoft fårker tingene op....



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408186
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste