コンピューターのことなどを綴ったメモ (旧:目から鱗 w/SQLite)

Jeans & Development 電子ブロック工房 三日坊主 フロントページ

CreateProcessで起動したプロセスをフォアグラウンドに持ってくるには [プログラミング]

2006年1月6日

 CreateProcessで新たに起動されたプロセスは、フォアグラウンドにならずに、他のウィンドウの下に隠れてしまう。フォアグランドにするには、SetForegroundWindowを用いるのだが、このAPIは現在フォアグランドになっているプロセスのみに許された機能である。従って、CreateProcessを行ったプロセス中でこの処理を行わなければならない。その方法をまとめてみた。

CreateThread [プログラミング]

2005年12月26日

 APIを使っての新規スレッド作成について、参考になりそうなページ。

参考1 参考2 参考3 参考4

C++で作るCOMサーバ [プログラミング]

2005年12月20日

 .NET を用いればregasm.exeでCOMサーバを簡単に登録することが出来るのだが、やはり.NETは重い。加えて、.NET Framework がインストールされていないコンピュータの割合はそれほど低くないと思われる。
 他方で、簡単な構造のCOMサーバなら、C++を用いてWin32プログラムとして製作すればよい。この場合、動作は軽いし汎用性もある。ただし、複雑なプログラムを組むのはやはり骨が折れるのだが…。
 今回C++を用いたCOMサーバを製作することになったので、その方法をここにまとめておくことにした。

VS 2005 Express Edition [プログラミング]

2005年12月18日

 『ついにVisual Studio(VS)の一部無償提供が始まった』との情報に従って(知らなかった!)、Microsoft のページからダウンロードしてインストールしてみた。ダウンロードは1年間限定(2006年11月まで)であるが、この期間中にダウンロードをすませれば、期間が過ぎても使えるようである。
 Microsoftのプログラミングツールの入手は、1998年頃のVB5以来であるが、やはり使いやすい。ついでに.NET Framework ver2.0も入っているみたいなので、新しい機能も試せるかも知れない。

vbscriptでマシン語を使う [プログラミング]

2005年12月18日

 前の記事『VB.NETでマシン語を使う3』を書いていて思ったのだが、これは要するにvbscriptからマシン語を呼び出していることだということに気が付いた。ならばいっそのこと、vbscriptからマシン語を呼び出すためのCOMオブジェクトを用意しておけば、将来的にもしかしたら有用になるかも(?)しれない。で、作ってみた。

VB.NETでマシン語を使う3 [プログラミング]

2005年12月16日

 VB.NET版DynaCallが完成した。次のようなvbscriptのコードで、MessageBoxAが呼び出せる。

set dc=CreateObject("dwtools.NET.dynacall")
dc.Push 1
dc.Push dc.AnsiString("テスト")
dc.Push dc.AnsiString("DynaCall.NET")
dc.Push 0
call dc.CallAPI("user32","MessageBoxA")

実行結果は、前の記事と同じで以下の通り。
DynaCall.NET

VB.NETでマシン語を使う2 [プログラミング]

2005年12月14日

 VB.NETによるDynaCallの原型になるテストプログラムが完成した。テストでは、MessageBoxAを呼び出すことに成功している。

VB.NETでマシン語を使う [プログラミング]

2005年12月14日

 現在のSFCは、Win32APIの殆どをVB.NET内で宣言する形になっている。これは、DynaWrapから脱却するための一つの方法であったのだが、逆にWin32API以外の関数をDLLから呼び出して実行することは出来ない(DynaWrapなら可能)。
 そこで、やはり最終的にはDynaCall様の物をVB.NET内に構築して実行する形にしたいと思っている。これには、DynaCallの様なインラインアセンブラが必要である。
 前に一度述べたようにこちらのページではインラインマシン語の使い方を紹介している。ただし、ver 2.0の.NET frameworkが必要で、これはまだβバージョンである。正式なver 2.0の登場が待てないので、別の形でインラインマシン語を利用する方法を考えてみた。

VC及びVBで一般的なコントロール [プログラミング]

2005年12月12日

 将来的にSFCにインクルード出来るようにするコントロールの参考に。
<<前の記事   後の記事>>