$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like
30 Nov // php the_time('Y') ?>
Within half an hour of writing the article "Application causes Screen Flickering in Citrix XenApp Session" I got a message that the hotfix in that article also fixes a similar problem in PowerPoint 2010.
Office 2010 uses hardware acceleration for displaying images and when this is enabled (which is the default) you will see constant screen flicker when you try to display a presentation with Images on Citrix XenApp (Server 2003):
30 Nov // php the_time('Y') ?>
Yesterday I was asked to troubleshoot an interesting issue with an application running on Citrix XenApp.
Environment
This customer is running Citrix XenApp 5 on Windows Server 2003 (x86). On the Client Side the Online Plugin version 12.3 is used.
The Problem
When this particular application was active the screen was flickering and black blocks appeared at seemingly random places. Further more it was not possible to resize the window:
My experience is that display issues are often related to either HDX Flash Redirection (offloading flash to the client) or the Multi Monitor hook.
28 Nov // php the_time('Y') ?>
Sometimes you need to know the Process Id (PID) of a running service. Since Windows 2003 you can use the tasklist.exe tool with the /SVC switch. But how to do this programmatically?
The QueryServiceStatusEx API returns a SERVICE_STATUS_PROCESS structure that contains the PID.
The code is not very complicated:
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 | uses JwaWinSvc; function GetServicePid(const Servicename: String): DWORD; var hScm: THandle; hSvc: THandle; ssp: SERVICE_STATUS_PROCESS; dwSize: DWORD; begin hScm := OpenSCManager(nil, nil, SC_MANAGER_CONNECT); if hScm = 0 then Exit(0); try hSvc := OpenService(hScm, PChar(Servicename), SERVICE_QUERY_STATUS); if hSvc = 0 then Exit(0); try if not QueryServiceStatusEx(hSvc, SC_STATUS_PROCESS_INFO, @ssp, SizeOf(ssp), dwSize) then Exit(0); Result := ssp.dwProcessId; finally CloseServiceHandle(hSvc); end; finally CloseServiceHandle(hScm); end; end; |