afxLua / dllimport

2016-09-14 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、1、 0、0、0、0、0(40)で、換算ポイント 88pt 。
「Firefox」5位アップ。「化学業界」「硝子業界」「FM COCOLO」「e-radio」、
「グルコサミン」bg値変動。「Perl」「C言語」「Python」「FM青森」変化無し。
・-・ - -・

さて、本文。

以前(2016-09-11)の記事「afxLua / afx
では、メインの“afx”モジュールを使ってみた。

今回は、“dllimport”モジュールに挑戦。

  Released by jaslatrix on 2006-12-02 at 10:26

  “dllimport-0.0001a-Lua51.zip” 41.4KB

なんだか、バージョン番号が!?!?


取り敢えず 5つ目 と云うことでダウンロード。


中身は実質1つ:

  “dllimport.dll” 52.0KB

でも、更新日付は、なんと、2037.06.21 ???


それで、
このモジュールでは、何が出来る?


同梱の“CHMヘルプドキュメント”を見ると、

  dllimport is a Lua binary module to import dll functions.
  Based on Ignacio Castanyo(castanyo@yahoo.es) LuaDeclare.

  Load the module via the require function (・・・), for example:
require"dllimport"
MessageBox = dllimport("USER32","MessageBoxA","i=PPPI")
x = MessageBox(nil, _VERSION, "Hello", 2);
butid = {"OK","CANCEL","ABORT","RETRY","IGNORE","YES","NO"}
MessageBox(nil, "You Clicked " .. butid[x] , "Hello", 0);
とある。

そして、このモジュールには、

関数が2個と、メソッドが3個ある。


1本作ってみた:
----- test_dllimport.gsl -----
require'dllimport'
Sleep = dllimport( 'KERNEL32', 'Sleep', 'P=I' ) -- プロトタイプ宣言

print( 'Start' )
Sleep( 1000 ) -- ミリ秒単位
print( 'End' )
これで、行ける。

この“dllimport.dll”だと、
Windows 標準の“rundll32.exe”では出来ないことも出来る。

LuaJIT で云うところの“FFI”に相当する?

未完成品かも知れないが、使えるかナ?


尚、上記コード中の“プロトタイプ宣言”の第3パラメータは、

  [return_type]=[arg1][arg2]...

の様に指定する:
SHEmptyRecycleBin = dllimport( 'SHELL32.DLL', 'SHEmptyRecycleBinA', 'i=PPL' )
SHEmptyRecycleBin( 0, 0, 4 ) -- 実行
これで、実行出来る、とヘルプにあった。

また、

  Code : C-Type

は、以下の通り。

  c : char
  b : char
  B : unsigned char
  h : short
  H : unsigned short
  i : int
  I : unsigned int
  l : long
  L : unsigned long
  q : long long
  Q : uns long long
  d : double
  f : float
  P : void*
  s : char[]

だ、そうナ?


本日はここまで。


afxLua ライブラリの学習は続く?


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


160806
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
02 | 2017/03 | 03
- - - 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 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク