Mercurial > projects > dwt-win
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) { |