Get Blogged by JoKi

"The only frontiers are in your mind"
11 | 03 | 2010
Navigation
Syndication
Most Read Articles
Related Resources
Article Time Line
Visitors
Validation

Valid XHTML 1.0 Transitional
Valid CSS!

Spacer for layout formatting
VFP Umgang mit Terminal Services PDF
User Rating: / 0
PoorBest 
Community
Sunday, 18 March 2007 19:08

Zusammenfassung einer Antwort aus der Newsgruppe microsoft.public.de.fox:

1. Wie kann das Programm feststellen, dass es in einer TS-Session läuft?

Mittels der Os() Funktion kannst du das ermitteln. Siehe VFP-Hilfe:

If Bittest(Val(Os(10)),4) Or Bittest(Val(Os(10)),8)
     *--- Running in TS environment...
     Sys(602,0)
EndIf

2. Wie kann das Programm feststellen, wie der Client-Rechner heisst?

GetEnv("CLIENTNAME")

3: Da Drucker und ggf. auch Laufwerke (z.B. Memory-Stick für Datensicherung) des Clients mit verwendet werden, müssten Client-abhängige Konfigurations-Dateien (z.Z. gibt es nur ein INI-File im Applikationsverzeichnis) verwendet werden. Wo und wie speichere ich die am besten?

Im Benutzerprofil - Home(7) zum Beispiel oder GetEnv("LocalAppData") bzw. GetEnv("AppData"). Außerdem kannst du die WIN32 API Funktion SHGetFolderPath verwenden:

#DEFINE CSIDL_MYDOCUMENTS 0x000c
#DEFINE CSIDL_LOCAL_APPDATA 0x001c

DECLARE SHORT SHGetFolderPath IN shell32;
 INTEGER   hwndOwner,;
 INTEGER   nFolder,;
 INTEGER   hToken,;
 INTEGER   dwFlags,;
 STRING  @ pszPath

LOCAL lcBuffer
lcBuffer = REPLICATE(CHR(0),254)
IF SHGetFolderPath(0, CSIDL_MYDOCUMENTS, 0, 0, @lcBuffer) = 0
   ? LEFT(lcBuffer,AT(CHR(0),lcBuffer)-1)
ENDIF

Weitere Konstanten für Ordner (CSIDL_*) findest du in der MSDN:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp
(eine Zeile!)

4: Ich habe grad mal per TS-Session als Administrator eine Anwendungs-Installation auf dem Win2003-Server gemacht. Dabei ist mir aufgefallen, dass die Dateien, die normalerweise in WINDOWSSYSTEM32 installiert werden (msvcr71.dll usw.) jetzt in's Verzeichnis Dokumente und EinstellungenAdministratorWINDOWS gekommen sind und somit nicht für die anderen User zur Verfügung stehen. Wie lässt sich das umgehen?

Hast du den TS-Installmodus vorher aktiviert? Das geht entweder 'automatisch' über den visuellen Weg über Systemsteuerung : Software oder per Prompt:

CHANGE USER /INSTALL  
Enable install mode. This command has to be run before
                         installing any new software on a Terminal Server.
                         This will create a .ini file for the application
                         in the TS system directory.

CHANGE USER /EXECUTE  
Enable execute mode (default)
                         Run this when an installation is complete.

CHANGE USER /QUERY    
Display current settings.

Außerdem findest du hier eine nette Zusammenstellung an Fragen und Antworten zum Thema Terminal Services:

http://www.microsoft.com/technet/community/en-us/terminal/terminal_faq.mspx

Ich hoffe, dass dies einige Tipps fuer euch lieferte...

Bis denne, JoKi

 
Spacer for layout formatting
About me
Microsoft Most Valuable Professional 2007 & 2008

Microsoft Certified Professional

Get in contact

Follow Jochen Kirstaetter (JoKi) on Twitter JoKi @ ICQ JoKi @ Skype


Recent books

  • MCTS 70-536 - .NET Framework 2.0 Application Development Foundation
  • Code-Centric: T-SQL Programming with Stored Procedures and Triggers
  • Microsoft .NET Framework-Programmierung in C#

Community

deutschsprachige FoxPro User Group

Microsoft Community Leader/Insider Program

International .NET Association

O'Reilly Verlag
Sponsoring
If you like the information on these pages, your support is highly appreciated.
Thank you very much!