コンボボックスの各種操作1のサンプルです。 サンプルの実行画面 ソースコード [CoboItem.frm] 'SendMessage=>メッセージをウインドウに送る '<引数> 'hWnd:ウインドウのハンドル 'wMsg:定数(CB_××参照) 'wParam:パラメータ 'lParam:0 '<戻り値> '値により異なる Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long 'SendMessageString=>メッセージをウインドウに送る '<引数> 'hWnd:ウインドウのハンドル 'wMsg:定数(CB_××参照) 'w
先ほど、コンボボックスの選択でうまく行ったと書きましたが、結局、チェンジイベントが発生せず見かけ上、選択されたようになっていました。 Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" (ByVal hwnd As Integer,_ ByVal wMsg As Integer, _ ByVal wParam As Integer, _ ByVal lParam As String) As Integer Const CB_SELECTSTRING = &H14D SendMessage(hWnd, CB_SELECTSTRING, -1, "Printer A") このような方法で、チェンジイベントまで発生させることが可能でしょうか?
通常のアプリケーションは、メインウィンドウが開かれるとタスクバーに表示されます。 これをタスクバーではなく、タスクバーの右端についているタスクトレイの中へ表示させるにはどうすればいいのでしょうか? ここでは、タスクトレイに格納されるアプリケーションを、順を追って作成していきたいと思います。 その1 タスクバーに表示されないようにする 第一段階として、タスクバーにアプリケーションが表示されないようにしてみましょう。 タスクバーに何も表示されないようにするには、メインウィンドウを非表示(つまり見えなくする)にする必要があります。 しかし、メインウィンドウが見えなくてはまともに作業もできず、困ってしまいますね。 そこで、メインウィンドウの中で子ウィンドウを作成し(これは見えるようにする)、こちらをメインウィンドウの代わりに使います。 では、実際にどうすればタスクバーに表示さ
= VC++ まめ知識 = VC++に関するメモを気づいた時点で随時メモしておく私的なものです。 (以下は.NET+MFCアプリケーションが前提です。SDKな人には参考にはならないでしょう。) ◇ダウンロード [ツール類] デバッグ用のランタイムは再配布不可だそうなので リリースコンパイルしてあります。ランタイムは別で探してください。 プログラムファイルもつけていますのでVC7プラットホームをお持ちの方ならば改良もできます。 ・最終更新 IP通信テスター(TCPIPサーバ、クライアント、UDPが可) ・最終更新 X25プロトコルテスター ・最終更新 インターフェース社製PCI4101ボード通信テスター ・最終更新 インターフェース社製PCI4161ボード通信テスター(COMポート通信テスターとしても動きます) ・最終更新 WAVファイル連結ツール 部品
第121章でdll内の変数(メモリ)を 複数のアプリケーションで共有する方法があると書きました。 この1つの方法がメモリマップト・ファイルという手法です。 ファイルの内容をプロセスのアドレス空間にコピーすることを 「ファイルマッピング」などといいます。また、他のプロセスが 自分のアドレス空間に自分と同じ内容のファイルマッピング・オブジェクトを 持つこともできます。(要するにプロセス間でデータを共有できるという ことです) 今回はメモリマップト・ファイルをdllではなく普通の(?) プログラムで解説します。 まず、必要な関数から解説します。 HANDLE CreateFileMapping( HANDLE hFile, // ファイルマッピングオブジェクトを作成する元のファイルハンドル LPSECURITY_ATTRIBUTES lpFileMappingAttributes, // セキュ
プロセス間データ共有 ビジネスアプリケーションのレベルになると、単純なツールプログラムとは異なり 自社の他のツールなどと強力に連帯した、高度なサービスを実現しなければなりません おそらく、そのようなプログラムの最大の壁となるのは「プロセス空間」の壁です スレッドと異なり、プロセスは全てが独自のメモリ領域を保有しています プロセスは、他のプロセスのメモリ領域にアクセスしてはなりません しかし、あなたが作成した複数のプログラムが協調するのは悪いことではありません むしろ、良質なサービスをユーザーに提供するためには必要なことです そこで、Windows は単一のファイルを複数のプロセスで共有するために ファイルマッピングという、記憶領域を共有するオブジェクトを提供しています 概念は簡単で、プロセスの同期で使われた、ミューテックスやセマフォオブジェクトと同じです ファイルマッピングオブジェクトに記
自動化やっぱりやらないと…と思って、Luaでのプログラムの書き方にも大分慣れたので、Cで拡張部分を書けばできるんじゃない?と思って少しやり始めた。ある程度動くようになった…けどWin32APIの関数ごとにいちいちラップ関数書くのめんどい…。 ということでまたもRubyを検討。EnumWindowsでウィンドウタイトルなどから望みのウィンドウを探せないと話にならない、のでhttp://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=Win32%3A%3AGuiTestを見る。EnumWindowsのコールバックの部分を、RubyのCでの拡張ライブラリを作ることで対応している。 Ruby/拡張ライブラリの作り方 Cでの拡張ソースを生成(仮に、win32ext.cとする) #include <ruby.h> #include <stdio.
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く