comparison dwt/internal/win32/OS.d @ 94:e37415f1e763

load imm32.dll
author Frank Benoit <benoit@tionex.de>
date Wed, 06 Feb 2008 23:59:02 +0100
parents 3b6217fd97e9
children 2e6eb5bd2c16
comparison
equal deleted inserted replaced
93:71968829531c 94:e37415f1e763
17 alias dwt.internal.win32.WINAPI WINAPI; 17 alias dwt.internal.win32.WINAPI WINAPI;
18 18
19 import dwt.internal.C; 19 import dwt.internal.C;
20 import dwt.internal.Library; 20 import dwt.internal.Library;
21 import tango.sys.SharedLib : SharedLib; 21 import tango.sys.SharedLib : SharedLib;
22 static import tango.stdc.stdlib;
23
22 import tango.util.log.Trace; 24 import tango.util.log.Trace;
23 static import tango.stdc.stdlib;
24
25 void trace(int line ){ 25 void trace(int line ){
26 Trace.formatln( "OS {}", line ); 26 //Trace.formatln( "OS {}", line );
27 } 27 }
28 28
29 // declare of Callback functions 29 // declare of Callback functions
30 extern (Windows) 30 extern (Windows)
31 { 31 {
240 loadLib( Symbols_CoreImm, `Coreimm.dll` ); 240 loadLib( Symbols_CoreImm, `Coreimm.dll` );
241 } 241 }
242 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) { 242 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (6, 0)) {
243 loadLib( Symbols_User32, `User32.dll` ); 243 loadLib( Symbols_User32, `User32.dll` );
244 } 244 }
245 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { 245 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (4, 0)) {
246 loadLib( Symbols_Imm32, `Imm32.dll` ); 246 loadLib( Symbols_Imm32, `Imm32.dll` );
247 } 247 }
248 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) { 248 if (!OS.IsWinCE && OS.WIN32_VERSION >= OS.VERSION (5, 1)) {
249 loadLib( Symbols_Kernel32, `Kernel32.dll` ); 249 loadLib( Symbols_Kernel32, `Kernel32.dll` );
250 } 250 }
270 pActCtx.cbSize = ACTCTX.sizeof; 270 pActCtx.cbSize = ACTCTX.sizeof;
271 pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT; 271 pActCtx.dwFlags = ACTCTX_FLAG_RESOURCE_NAME_VALID | ACTCTX_FLAG_SET_PROCESS_DEFAULT;
272 pActCtx.lpSource = pszText; 272 pActCtx.lpSource = pszText;
273 pActCtx.lpResourceName = cast(TCHAR*)MANIFEST_RESOURCE_ID; 273 pActCtx.lpResourceName = cast(TCHAR*)MANIFEST_RESOURCE_ID;
274 trace(__LINE__); 274 trace(__LINE__);
275 Trace.formatln( "is loaded {}", ( OS.CreateActCtx !is null )); 275 //Trace.formatln( "is loaded {}", ( OS.CreateActCtx !is null ));
276 HANDLE hActCtx = OS.CreateActCtx (&pActCtx); 276 HANDLE hActCtx = OS.CreateActCtx (&pActCtx);
277 trace(__LINE__); 277 trace(__LINE__);
278 if (pszText !is null) OS.HeapFree (hHeap, 0, pszText); 278 if (pszText !is null) OS.HeapFree (hHeap, 0, pszText);
279 uint lpCookie; 279 uint lpCookie;
280 OS.ActivateActCtx (hActCtx, &lpCookie); 280 OS.ActivateActCtx (hActCtx, &lpCookie);
4271 //---------------------------------------------------------------------- 4271 //----------------------------------------------------------------------
4272 // Coreimm.lib (WinCE) 4272 // Coreimm.lib (WinCE)
4273 // this function vars exist primarily for link error elimination 4273 // this function vars exist primarily for link error elimination
4274 //---------------------------------------------------------------------- 4274 //----------------------------------------------------------------------
4275 public static extern(Windows) { 4275 public static extern(Windows) {
4276 4276 } // public static extern(Windows)
4277 HIMC function( 4277
4278 HWND hWnd, 4278 static Symbol[] Symbols_CoreImm = [
4279 HIMC hIMC 4279 ];
4280 ) ImmAssociateContext; 4280
4281 4281 // user32.dll vista
4282 HIMC function( 4282 public static extern(Windows) BOOL function() SetProcessDPIAware;
4283 ) ImmCreateContext; 4283 static Symbol[] Symbols_User32 = [
4284 4284 { "SetProcessDPIAware", cast(void**)& SetProcessDPIAware, 6, 0 },
4285 int function( 4285 ];
4286 HIMC hIMC 4286
4287 ) ImmDestroyContext; 4287 // Imm32.lib
4288 4288 public static extern(Windows) {
4289 HIMC function( 4289 HIMC function( HWND hWnd ) ImmGetContext;
4290 HWND hWnd 4290 BOOL function( DWORD idThread ) ImmDisableTextFrameService;
4291 ) ImmGetContext; 4291 HIMC function( HWND hWnd, HIMC hIMC ) ImmAssociateContext;
4292 4292
4293 BOOL function( 4293 HIMC function() ImmCreateContext;
4294 HIMC hIMC, 4294 int function( HIMC hIMC ) ImmDestroyContext;
4295 LPDWORD lpfdwConversion, 4295 BOOL function( HIMC hIMC, LPDWORD lpfdwConversion, LPDWORD lpfdwSentence ) ImmGetConversionStatus;
4296 LPDWORD lpfdwSentence 4296 HWND function( HWND hWnd ) ImmGetDefaultIMEWnd;
4297 ) ImmGetConversionStatus; 4297 BOOL function( HIMC hIMC ) ImmGetOpenStatus;
4298 4298 BOOL function( HWND hWnd, HIMC hIMC ) ImmReleaseContext;
4299 HWND function(
4300 HWND hWnd
4301 ) ImmGetDefaultIMEWnd;
4302
4303 BOOL function(
4304 HIMC hIMC
4305 ) ImmGetOpenStatus;
4306
4307 BOOL function(
4308 HWND hWnd,
4309 HIMC hIMC
4310 ) ImmReleaseContext;
4311
4312 version(ANSI) { 4299 version(ANSI) {
4313 BOOL function( 4300 BOOL function( HIMC hIMC, LOGFONTA* lplf ) ImmSetCompositionFont;
4314 HIMC hIMC, 4301 LONG function( HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen ) ImmGetCompositionString;
4315 LOGFONTA* lplf 4302 BOOL function( HIMC hIMC, LPLOGFONTA lplf ) ImmGetCompositionFont;
4316 ) ImmSetCompositionFont;
4317
4318 LONG function(
4319 HIMC hIMC,
4320 DWORD dwIndex,
4321 LPVOID lpBuf,
4322 DWORD dwBufLen
4323 ) ImmGetCompositionString;
4324
4325 BOOL function(
4326 HIMC hIMC,
4327 LPLOGFONTA lplf
4328 ) ImmGetCompositionFont;
4329 4303
4330 } else { 4304 } else {
4331 BOOL function( 4305 BOOL function( HIMC hIMC, LOGFONTW* lplf ) ImmSetCompositionFont;
4332 HIMC hIMC, 4306 LONG function( HIMC hIMC, DWORD dwIndex, LPVOID lpBuf, DWORD dwBufLen ) ImmGetCompositionString;
4333 LOGFONTW* lplf 4307 BOOL function( HIMC hIMC, LOGFONTW* lplf ) ImmGetCompositionFont;
4334 ) ImmSetCompositionFont; 4308 }
4335 4309 BOOL function( HIMC hIMC, LPCOMPOSITIONFORM lpCompForm ) ImmSetCompositionWindow;
4336 LONG function( 4310 BOOL function( HIMC hIMC, DWORD fdwConversion, DWORD fdwSentence ) ImmSetConversionStatus;
4337 HIMC hIMC, 4311 BOOL function( HIMC hIMC, BOOL fOpen ) ImmSetOpenStatus;
4338 DWORD dwIndex, 4312
4339 LPVOID lpBuf, 4313 }
4340 DWORD dwBufLen 4314
4341 ) ImmGetCompositionString; 4315 static Symbol[] Symbols_Imm32 = [
4342
4343 BOOL function(
4344 HIMC hIMC,
4345 LOGFONTW* lplf
4346 ) ImmGetCompositionFont;
4347 }
4348
4349 BOOL function(
4350 HIMC hIMC,
4351 LPCOMPOSITIONFORM lpCompForm
4352 ) ImmSetCompositionWindow;
4353
4354 BOOL function(
4355 HIMC hIMC,
4356 DWORD fdwConversion,
4357 DWORD fdwSentence
4358 ) ImmSetConversionStatus;
4359
4360 BOOL function(
4361 HIMC hIMC,
4362 BOOL fOpen
4363 ) ImmSetOpenStatus;
4364
4365 } // public static extern(Windows)
4366
4367 static Symbol[] Symbols_CoreImm = [
4368 { "ImmAssociateContext", cast(void**)& ImmAssociateContext, 5, 1 }, 4316 { "ImmAssociateContext", cast(void**)& ImmAssociateContext, 5, 1 },
4369 { "ImmCreateContext", cast(void**)& ImmCreateContext, 5, 1 }, 4317 { "ImmCreateContext", cast(void**)& ImmCreateContext, 5, 1 },
4370 { "ImmDestroyContext", cast(void**)& ImmDestroyContext, 5, 1 }, 4318 { "ImmDestroyContext", cast(void**)& ImmDestroyContext, 5, 1 },
4371 { "ImmGetContext", cast(void**)& ImmGetContext, 5, 1 }, 4319 { "ImmGetContext", cast(void**)& ImmGetContext, 5, 1 },
4372 { "ImmGetConversionStatus", cast(void**)& ImmGetConversionStatus, 5, 1 }, 4320 { "ImmGetConversionStatus", cast(void**)& ImmGetConversionStatus, 5, 1 },
4373 { "ImmGetDefaultIMEWnd", cast(void**)& ImmGetDefaultIMEWnd, 5, 1 }, 4321 { "ImmGetDefaultIMEWnd", cast(void**)& ImmGetDefaultIMEWnd, 5, 1 },
4374 { "ImmGetOpenStatus", cast(void**)& ImmGetOpenStatus, 5, 1 }, 4322 { "ImmGetOpenStatus", cast(void**)& ImmGetOpenStatus, 5, 1 },
4375 { "ImmReleaseContext", cast(void**)& ImmReleaseContext, 5, 1 }, 4323 { "ImmReleaseContext", cast(void**)& ImmReleaseContext, 5, 1 },
4376 { "ImmSetCompositionFont", cast(void**)& ImmSetCompositionFont, 5, 1 }, 4324 { "ImmSetCompositionFontW", cast(void**)& ImmSetCompositionFont, 5, 1 },
4377 { "ImmGetCompositionString", cast(void**)& ImmGetCompositionString, 5, 1 }, 4325 { "ImmGetCompositionStringW", cast(void**)& ImmGetCompositionString, 5, 1 },
4378 { "ImmGetCompositionFont", cast(void**)& ImmGetCompositionFont, 5, 1 }, 4326 { "ImmGetCompositionFontW", cast(void**)& ImmGetCompositionFont, 5, 1 },
4379 { "ImmSetCompositionFont", cast(void**)& ImmSetCompositionFont, 5, 1 },
4380 { "ImmGetCompositionString", cast(void**)& ImmGetCompositionString, 5, 1 },
4381 { "ImmGetCompositionFont", cast(void**)& ImmGetCompositionFont, 5, 1 },
4382 { "ImmSetCompositionWindow", cast(void**)& ImmSetCompositionWindow, 5, 1 }, 4327 { "ImmSetCompositionWindow", cast(void**)& ImmSetCompositionWindow, 5, 1 },
4383 { "ImmSetConversionStatus", cast(void**)& ImmSetConversionStatus, 5, 1 }, 4328 { "ImmSetConversionStatus", cast(void**)& ImmSetConversionStatus, 5, 1 },
4384 { "ImmSetOpenStatus", cast(void**)& ImmSetOpenStatus, 5, 1 }, 4329 { "ImmSetOpenStatus", cast(void**)& ImmSetOpenStatus, 5, 1 },
4385 ];
4386
4387 // user32.dll vista
4388 public static extern(Windows) BOOL function() SetProcessDPIAware;
4389 static Symbol[] Symbols_User32 = [
4390 { "SetProcessDPIAware", cast(void**)& SetProcessDPIAware, 6, 0 },
4391 ];
4392
4393 // Imm32.lib
4394 public static extern(Windows) BOOL function( DWORD idThread ) ImmDisableTextFrameService;
4395 static Symbol[] Symbols_Imm32 = [
4396 { "ImmDisableTextFrameService", cast(void**)& ImmDisableTextFrameService, 5, 1 }, 4330 { "ImmDisableTextFrameService", cast(void**)& ImmDisableTextFrameService, 5, 1 },
4397 ]; 4331 ];
4398 4332
4399 // kernel32 winxp/vista 4333 // kernel32 winxp/vista
4400 public static extern(Windows) { 4334 public static extern(Windows) {