秀見えから秀丸を起動No.00440
乱土 労馬 さん 00/06/21 17:23
 
秀見え、ありがたく使わせていただいています。ところで常々思っているのですが、
秀見えから直接、指定したエディタ(というか秀丸決め打ちで一向にかまわないん
ですが)を開く、という機能はつけられないでしょうか?

もちろん元のファイルが秀丸に関連づけられていればアイコンをダブルクリック
するか、右クリックでメニューを開いて、秀見えで見ているファイルを秀丸に
食わせることはできるのですが、早い話がこの、右クリック→メニュー開く→
秀丸で開く、という操作が面倒くさいな、と(^^;)。

たとえばHTMLファイルなどがこれに該当しまして、通常ダブルクリックでは
ブラウザ(ユーザーエージェントと言わんといかんのでしょうか)が起動
されますよね?このときに、たとえば秀見えのウインドウの左端には秀丸の
アイコンが表示されてて、こっちをクリックしたらば問答無用でそのファイルを
秀丸で開く、みたいなことが出来たら便利だなあ、と思うんですが、そうでも
ないでしょうか?

[ ]
RE:00440 秀見えから秀丸を起動No.00441
ひろ さん 00/06/23 17:15
 
 乱土 労馬さん今日は、ひろです。
> 秀見えから直接、指定したエディタ(というか秀丸決め打ちで一向にかまわないん
> ですが)を開く、という機能はつけられないでしょうか?
 icon の右 click に「送る」があるので、良いと思ったのですが、「送る」
を選択しても新たに「送る」がでてくるだけで、SendTo folder に登録して
ある software が list up されませんね。これって私の環境だけ?

[ ]
RE:00441 秀見えから秀丸を起動No.00442
乱土 労馬 さん 00/06/23 18:22
 

 ひろさんこんにちわ、乱土です。

> icon の右 click に「送る」があるので、良いと思ったのですが、「送る」
>を選択しても新たに「送る」がでてくるだけで、SendTo folder に登録して
>ある software が list up されませんね。これって私の環境だけ?

 あっそうか、「送る」を使う手が………ってたしかにこちらでもひろさんと同じ現
象が
出ました。こちらはWin98です。これはもしかして不具合??

 「送る」を使うのもたしかにいいんですが、ここはやはり「秀シリーズ」って
ことで、連携が取れてたりするとうれしいなぁ、などと、ちょっとだけ
思ってたりもします(^^;)。

[ ]
RE:00440 秀見えから秀丸を起動No.00444
秀まるお さん 00/06/23 19:25
 
 秀見えに付ける機能かどうか分かりませんが、例えば特定のキー操作をしたら秀丸
で開くような機能なら作れると思います。

 そういうツールは他にもあるかもしれませんが…。

 今度考えてみます。


[ ]
RE:00442 秀見えから秀丸を起動No.00445
ひろ さん 00/06/24 17:01
 
 乱土 労馬さん今日は、ひろです。
> 出ました。こちらはWin98です。これはもしかして不具合??
 しまった。環境を書き忘れていました。Windows98+秀見え Ver.7.3 (拡張
子無し file の view 機能追加版) です。

[ ]
RE:00445 秀見えから秀丸を起動No.00447
秀まるお さん 00/06/27 09:36
 
 「送る」に何も出てこないのは、実は前からです。バグと言えばバグなんですが、
直し方が分からなくてそのままになってます。

 ファイルのIDITEMLISTを作成して、それからGetUIObjectOfを使ってIID_IContextM
enuのインタフェースを取り出して、そこからQueryContextMenu()してメニューを出
しているんだけど、それでは処理が足りないみたいで…。

 誰か詳しい人いたら教えてほしい…。


[ ]
RE:00447 秀見えから秀丸を起動No.00449
秀まるお さん 00/06/27 09:39
 
 IShellExtInitインタフェースを使って初期化しないといけないらしい…。

 今度やってみます。


[ ]
RE:00449 秀見えから秀丸を起動No.00450
ひろ さん 00/06/27 13:55
 
 秀まるお様今日は、ひろです。
>  IShellExtInitインタフェースを使って初期化しないといけないらしい…。
 次版がでるのを楽しみにしています。

[ ]
RE:00447 秀見えから秀丸を起動No.00451
N.Yanagi さん 00/06/27 20:29
 
 秀さん、こんにちは。FM-Products の柳です。

On Tue, 27 Jun 2000 09:36:16 +0900
秀まるお <xxxxxxxxxx@maruo.co.jp> wrote:

>  「送る」に何も出てこないのは、実は前からです。バグと言えばバグなんですが、
> 直し方が分からなくてそのままになってます。
>
>  ファイルのIDITEMLISTを作成して、それからGetUIObjectOfを使ってIID_IContextM
> enuのインタフェースを取り出して、そこからQueryContextMenu()してメニューを出
> しているんだけど、それでは処理が足りないみたいで…。
>
>  誰か詳しい人いたら教えてほしい…。

 簡単に説明しますと。

 GetUIObjectOf()を使って、IContextMenuオブジェクトのハンドルを取得
したら、そのハンドルを使ってIContextMenu2オブジェクトのハンドルを
取得します。

// C++なコードですが(^_^;
/////////////////////////////////////////////////////////////////
static LPCONTEXTMENU  lpConTextMenu  = NULL;
static LPCONTEXTMENU2 lpConTextMenu2 = NULL;

{
    if ( SUCCEEDED( lpParentFolder->GetUIObjectOf( hWnd, nFiles,
         (LPCITEMIDLIST*)lpItemIDLists,
         IID_IContextMenu, 0, (LPVOID *)&lpConTextMenu ) ) )
    {
        lpConTextMenu->QueryInterface( IID_IContextMenu2,
        (LPVOID *)&lpConTextMenu2 );
        .
        .
        .
        .
    }
}
/////////////////////////////////////////////////////////////////

 で、IContextMenu2オブジェクトを取得できた場合は、送るメニューが
存在しています。

 この場合、親ウィンドウへ WM_INITMENUPOPUP,WM_MEASUREITEM,
WM_DRAWITEM の3つのメッセージが送られてきますので、このメッセージ
を受け取ったら、IContextMenu2::HandleMenuMsg を呼び出してやるだけ
です。

/////////////////////////////////////////////////////////////////
void ShellHandler(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    if (lpConTextMenu2)
    {
        lpConTextMenu2->HandleMenuMsg(uMsg, wParam, lParam);
    }
}
/////////////////////////////////////////////////////////////////

 処理が終了したら、IContextMenuオブジェクト同様 Release() を呼
び出してオブジェクトを開放してやってください。

 このような感じですが、不足していることがありましたら、ご指摘
くださいませ。

 ======================================================
   柳 直樹  ---  Naoki Yanagi --- (^_-)

    NIFTY-Serve : KFE03771
    E-Mail      : yanagi@sun-inet.or.jp
                : xxxxxxxxxxxx@nifty.ne.jp
    Home Page   : http://www.sun-inet.or.jp/~yanagi/
 ======================================================

[ ]
RE:00451 秀見えから秀丸を起動No.00452
秀まるお さん 00/06/30 18:52
 
 これはこれは丁寧な説明ありがとうございます。

 さっそく挑戦してみます。

 (今作ってる別ソフトにも同じ処理が必要でして…)


[ ]