テキストエディタを作るなら知ってなきゃね。
メモ帳で文字列を書いて保存せずに終了しようとすると、保存するかどうかメッセージボックスが表示されますね。これを出さないようにするにはどうすればいいのでしょうか。自分でテキストエディタを作るのであれば、フラグを設定して、文字列が編集されたら True、そうでないなら False というようにして判断できるのですが、ここではメモ帳を遠隔操作しようという試みなので、フラグを設定できません。「どうせ、SendMessage でできるんだろ、さっさとやれよ」とお思いのあなた、実は大正解です。以下のようにすればいいのです。
Call SendMessage(hEditbox, EM_SETMODIFY, 1, ByVal 0&) '変更されていない 文字列操作後、終了しても保存するかの確認メッセージボックスを出さないようにするには、上のコードを書けばいいのです。下のケースを使うのは希であると思われます。そろそろ関数を書いてみましょう。 Private Const EM_SETMODIFY = &HB9 'エディットボックスの変更フラグを設定する
'----------------------------------------------------------------
Call SendMessage(hEditbox, EM_SETMODIFY, vMode, ByVal 0&) End Sub 今度は、メモ帳の内容は変更されているか取得する関数を書いてみましょう。なあに、簡単です。世の中、表があれば裏もある、左があれば右がある、EM_SETMODIFY があれば EM_GETMODIFY もある。ということで関数は以下の通り。 Private Const EM_SETMODIFY = &HB8 'エディットボックスが変更されたかを知る
'----------------------------------------------------------------
GetModify = SendMessage(hEditbox, EM_GETMODIFY, 0&, ByVal 0&) End Sub メモ帳を遠隔操作するうえでは、この関数は使用用途がないですね。 |