Hex Artifact Content

Not logged in

Artifact cc2ab2b91c87057b3522028258f6b9806ee4df71:


0000: 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e  import win32.win
0010: 64 6f 77 73 3b 0a 69 6d 70 6f 72 74 20 73 74 64  dows;.import std
0020: 2e 73 74 64 69 6f 3b 0a 69 6d 70 6f 72 74 20 73  .stdio;.import s
0030: 74 64 2e 73 74 72 69 6e 67 3b 0a 69 6d 70 6f 72  td.string;.impor
0040: 74 20 63 6f 72 65 2e 72 75 6e 74 69 6d 65 3b 0a  t core.runtime;.
0050: 0a 61 6c 69 61 73 20 65 78 74 65 72 6e 28 57 69  .alias extern(Wi
0060: 6e 64 6f 77 73 29 20 69 6e 74 20 66 75 6e 63 74  ndows) int funct
0070: 69 6f 6e 28 20 48 57 4e 44 20 61 2c 20 69 6d 6d  ion( HWND a, imm
0080: 75 74 61 62 6c 65 20 63 68 61 72 2a 20 62 2c 20  utable char* b, 
0090: 63 68 61 72 2a 20 63 2c 20 44 57 4f 52 44 20 64  char* c, DWORD d
00a0: 20 29 20 43 6d 64 46 75 6e 63 54 3b 0a 0a 76 6f   ) CmdFuncT;..vo
00b0: 69 64 20 6d 61 69 6e 28 29 0a 7b 0a 09 48 49 4e  id main().{..HIN
00c0: 53 54 41 4e 43 45 20 68 20 3d 20 63 61 73 74 28  STANCE h = cast(
00d0: 48 49 4e 53 54 41 4e 43 45 29 20 52 75 6e 74 69  HINSTANCE) Runti
00e0: 6d 65 2e 6c 6f 61 64 4c 69 62 72 61 72 79 28 22  me.loadLibrary("
00f0: 51 42 67 61 33 32 2e 44 4c 4c 22 29 3b 0a 09 66  QBga32.DLL");..f
0100: 6f 72 28 3b 3b 29 20 7b 0a 09 09 77 72 69 74 65  or(;;) {...write
0110: 28 22 3e 20 22 29 3b 0a 09 09 73 74 72 69 6e 67  ("> ");...string
0120: 20 73 20 3d 20 72 65 61 64 6c 6e 28 29 3b 0a 09   s = readln();..
0130: 09 69 66 28 73 2e 6c 65 6e 67 74 68 20 3e 20 30  .if(s.length > 0
0140: 29 20 7b 0a 09 09 09 43 6d 64 46 75 6e 63 54 20  ) {....CmdFuncT 
0150: 42 67 61 20 3d 20 63 61 73 74 28 43 6d 64 46 75  Bga = cast(CmdFu
0160: 6e 63 54 29 47 65 74 50 72 6f 63 41 64 64 72 65  ncT)GetProcAddre
0170: 73 73 28 68 2c 20 22 42 67 61 22 29 3b 0a 09 09  ss(h, "Bga");...
0180: 09 69 6e 74 20 72 20 3d 20 42 67 61 28 4e 55 4c  .int r = Bga(NUL
0190: 4c 2c 20 73 2e 74 6f 53 74 72 69 6e 67 7a 28 29  L, s.toStringz()
01a0: 2c 20 6e 75 6c 6c 2c 20 30 29 3b 0a 09 09 09 77  , null, 0);....w
01b0: 72 69 74 65 6c 6e 28 22 52 65 74 75 72 6e 3a 20  riteln("Return: 
01c0: 22 2c 20 72 29 3b 0a 09 09 7d 0a 09 7d 0a 09 52  ", r);...}..}..R
01d0: 75 6e 74 69 6d 65 2e 75 6e 6c 6f 61 64 4c 69 62  untime.unloadLib
01e0: 72 61 72 79 28 68 29 3b 0a 7d 0a                 rary(h);.}.