|  27.05.2009, 09:05 | #1 | 
| Участник | axaptapedia: Registry client name 
			
			Источник: http://www.axaptapedia.com/Registry_client_name ============== Summary: New page: Having been handed a requirement to connect machines which log onto Axapta 3.0 from Terminal Services and utilize the local Windows XP client hostname, I've found the Windows Registry can ... Having been handed a requirement to connect machines which log onto Axapta 3.0 from Terminal Services and utilize the local Windows XP client hostname, I've found the Windows Registry can provide one possible solution. X++: str getRegistryClientName() { // Get hostname from Terminal Services Session #winAPI int intHandle; container clintName; ; intHandle = WinAPI::regOpenKey(#HKEY_CURRENT_USER, 'Volatile Environment', #KEY_READ); clintName = WinAPI::regGetValue(intHandle, 'CLIENTNAME'); WinAPI::regCloseKey(intHandle); return conpeek(clintName,1); } Further into the process you might need to check the value is not of the form CONSOLE, as this would pertain to a locally logged in session, which differs in the Registry Key value. For this I found the winAPI::getComputerName() method was more reasonable. X++: void getHostName() { ; if(hostName) return; // assume TS session hostName = this.getRegistryClientName(); if(STRUPR(hostName) == "CONSOLE")// local { hostName = winAPI::getComputerName(); } } Of course within the Class Declaration it would be a good idea to include the following string! str hostName; Источник: http://www.axaptapedia.com/Registry_client_name 
				__________________ Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. | 
|  |