• 締切済み

起動方法が直接実行かドロップなのか判別

shogenjiの回答

  • shogenji
  • ベストアンサー率31% (31/98)
回答No.2

__argvとかlpCmdLine見て,判別すれば良いのではないでしょうか?

sakoichi
質問者

補足

lpCmdLineの存在は知っていましたが使ったことがありません。 その値からどのような情報が分かるのか教えてください。

関連するQ&A

  • 実行ファイルへのドラッグ&ドロップ起動

    VB6 WindowsXP 実行ファイルにファイルをドラッグ&ドロップして起動します。 Private Sub Form_Load() Dim FILE_NAME As String Dim EXE_PATH As String FILE_NAME = Mid(Command, 2, Len(Command) - 2) EXE_PATH = '********** End Sub ファイルの名前・パスは取得できるのですが、実行ファイルのパスが取得できずに困っています。 実行ファイルを通常起動した場合はCurDirで取得できますが、ドラッグ&ドロップ起動をした場合、CurDirではログインユーザーディレクトリを返してしまいます。 宜しくお願いします。

  • ドロップで起動するけどパスは?

    ファイルをEXEにドロップして起動させます。 ドロップしたファイルのパスを GetCommandLine( ) から 取り出すために、" の位置を調べます。 "EXEのパス" ドロップファイルのパス となっているから、2番目の " の位置を調べました。 でも、for でのループが1回で終わってしまいます。 おかしいところを教えてください。 LRESULT CALLBACK WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) {  char *p = GetCommandLine();  char str[200];  switch(msg){  case WM_CREATE:   int i;   for(i = 1; p[i] == '"'; i++);{    wsprintf(str, "%d", p[i]);    MessageBox(hWnd, chStr, "", MB_OK);   }   wsprintf(chStr, "%d", i);   MessageBox(hWnd, str, "", MB_OK); //結果は1   wsprintf(chStr, "%#x", p[0]);   MessageBox(hWnd, str, "1文字目", MB_OK); //結果は34   wsprintf(chStr, "%#x", p[1]);   MessageBox(hWnd, str, "2文字目", MB_OK); //結果は67   wsprintf(chStr, "%#x", p[2]);   MessageBox(hWnd, str, "3文字目", MB_OK); //結果は58

  • ドラッグ&ドロップで読み込むことは・・・

    exeファイルにファイルを直接ドラッグ&ドロップをして、 ファイルを読み込むことっていうのはできるのでしょうか? できるのであれば、どのような方法を用いればよいか教えてください。

  • ホームページから実行ファイルを起動する方法

    ホームページから実行ファイル(EXE)を起動したいのですが方法はありますでしょうか? htmlでexeファイルを指定し実行させようとするとファイルのダウンロードになってしまい「このファイルを開くか、または保存しますか?」のメッセージが出てしまいます。メッセージが出ずにEXEを実行する方法があれば教えて下さい。 宜しくお願い致します。

  • ドラッグ&ドロップの極意

    CreateWindow で作成されたウインドウに対し、メッセージループ内で case WM_CREATE 以下に、 DragAcceptFiles を指定、case WM_DROPFILES にて ShellExecute なりの処理を書けば、メモ帳などが 開くのはわかるのですが、その際、中身のテキスト文字を全部配列変数に入れるとして、 効率のいいプログラミングサンプルはないでしょうか。 ドロップしたら、ファイル名とパス名を取得して、fopen などで、頭から一行ずつ読むのが一般的 なんでしょうか。 例えば、 abc.txt に以下のように続くとします。 000000000 082394099 111553021 339400191 498585000 333399999 280839000  ・  ・  ・  ・ スマートなプログラミングって教えてほしいです。 環境は VC++ Ver6 SDK です。

  • VBSを起動後にファイルをドラッグ&ドロップ

    [環境] Windows 7 お世話になります。 完全にお遊び程度の内容になりますが、 VBSでドラッグ&ドロップしたファイルのファイル名を取得するプログラムを 作成しているのですが、 検索してもそれらしき方法が見つからずヤキモキしています。 まだ起動していないVBSファイルに対してのドラッグ&ドロップする方法であれば 結構HITするのですが、そうではなく私がやろうとしているのは、 既に起動しているVBSのアプリにドラッグ&ドロップをしたファイル名を 取得したいのです。(ちなみに取得したいのはフルパス) 取得したファイル名はInputBoxか何かに表示する程度でいいのですが、 案外むずかしかったりするのでしょうか? ご回答よろしくお願いします。

  • ドラッグ&ドロップができなくなった

    前回起動時までは出来ていましたが 急にできなくなりました。特に何をしたとかはありません。 デスクトップ上、フォルダの中でのファイルの移動はできますが ファイルをフォルダにをドロップする事ができません。 再インストールとシステム復元以外でよい方法はあるでしょうか?

  • 実行ファイルを複数起動させない方法

    皆様にアドバイスを頂きまして、自分の中で必要最低限な機能を持ったEXEを作る事ができました。 ありがとうございます。 EXEを書き出して思ったのですが、EXEのアイコンをダブルクリックすると複数の実行ファイルが起動してしまいます。 これを複数起動させない方法ってあるのでしょうか? 自分で調べたのですが、VCならウィザードであるようなのですが、VBはわかりませんでした。 よろしくご教授下さいますようお願い申し上げます。

  • 管理者権限のドラッグ&ドロップ

    Windows7で管理者権限で起動したソフトに対してエクスプローラーからドラッグ&ドロップできない問題に直面し、その問題はこのサイトの方法(explorer.exeを管理者権限で起動)で一時的に解決しました。 http://bigninepro2.cocolog-nifty.com/blog/2011/02/windows7-4fc8.html しかし、この方法だと毎回PCを起動する度にエクスプローラーを再起動しなければいけない上に、一度エクスプローラーを終了した際にスタートアップに登録した常駐系アプリが一緒に終了してしまいます。 そこで、以下のいずれかの方法による解決策を探しています。 1. PC起動時に最初からexplorer.exeを管理者権限で起動する方法 2. explorer.exeに管理者権限を付与する以外に任意の管理者権限のソフトにドラッグ&ドロップを可能にする方法 問題が解決できればこれらの方法でなくても構いません。よろしくお願いします。

  • ドラッグ & ドロップのメッセージについて

    ドラッグドロップをおこなったときに、ウィンドウメッセージからどのようにして判断すればよいのでしょうか? クリックの場合はWM_LMOUSEUPなどが2回連続で配信される等で検討がつくのですが、ドラッグドロップの場合は検討がつきません なにかいい方法があれば教えてください。 よろしくお願いします