気ままの簡易レビュー

[ トップページへ ]



自分が実際触って判断した Win /アプリの設定、商品の簡易レビューがメイン。
2022年3月より執筆のご依頼は諸事情によりお断りさせて頂いております。



0

Autoit スクリプト ( EXE ) にファイルをドラッグで関連付けされたアプリのフォルダを開くを実現

商品リンクをクリックし通販サイトへ飛ぶ物は 「 広告 」のリンクです。
記事の執筆に AI な類は使用しておりません。



はじめに

Windows でファイルに関連付けされているアプリのフォルダを開く
という場合がたまにあるのですが地味に開くのが面倒。

ファイルをドラッグするだけで関連付けされたアプリが
格納されているフォルダを開く
Autoit スクリプトを作ってみましたので置いておきます。
宜しければどうぞ。

おまけでアプリを最前列にし、Shiftキー を押したら
そのアプリが格納されているフォルダを開くという物も置いておきます。

【 目次へ戻る 】

下準備

このページで配布しているスクリプトは Autoit という
命令で書かれているので、専用の環境が必要です。

環境は、ファイルをダウンロード、解凍し
.au3 という拡張子を関連付けするだけで使えます。

私の記事で宜しければ以下にて。
Autoit3 Windowsの操作を自動化
 使用方法/日本語化 ( HELPファイル )


以下の項目を行います。

・ダウンロード、インストール
・関連付け
・EXEファイルを作る

配布されているソースは平文で丸見えなので
ウイルスなどを紛れさせる要素はなく ( ソースを見ればの意味です )
自分で実行形式を作るのでウイルスを混入される恐れもないです。

実行も .au3 をそのまま実行するなら関連付けをするだけ。
.au3 を実行ファイル形式にするにもソースの .au3 ファイルを
変換アプリへドラッグして指定し変換のボタンを押すだけの超簡単です。
是非、ご挑戦下さい。

*** ご注意 ***

ブログに書いてあることや
ブログで配布しているスクリプトを使用する場合は
自己責任にてお願いいたします。

このブログの管理者 気ままさん は
ブログに書いてあること、ブログで配布している
スクリプトを使用して発生した
すべての事柄において責任を負いません。

これに同意をいただけない方へのご使用は許可いたしかねます。

【 目次へ戻る 】

ShellExecute_File.au3 ソース

ここのソースを EXE に変換し
その EXE へ何かのファイルをドラッグするだけで
関連付けされたアプリが格納されているフォルダを開く
Autoit スクリプトです。

ファイルをドラッグするのにこのソースへドラッグしても
意味はないので必ず EXE に変換しなくてはなりません。

-----

拡張子は .au3 で保存して下さい。
拡張子とは?が不明な人は以下のページの 関連付け の見出しに
AutoIt3_au3.zip ~ とあるのでダウンロードをし
関連付け.au3 という類があるのでメモ帳へドラッグし
中身の文章を全部消して使って下さい、ファイル名は自由へ変えて大丈夫です。
Autoit3 Windowsの操作を自動化
使用方法/日本語化 ( HELPファイル )


-----

以下、ソースです。


;ここから -----

#include <file.au3>
#include <WinAPIShellEx.au3>

$tit = "ShellExecute_File v1.00"
;https://kimama9.blog.fc2.com/blog-entry-1114.html

;テスト時 = 1
$test = 0

;テスト用データの設置
If $test = 1 Then
Dim $CmdLine[2] = ["1","r:\001.txt"]
EndIf

;関連付けのフォルダを開く = 1
$open = 1

;クリップボードへ結果を送らない = 0 / フォルダのみ = 1 / アプリ名のみ = 2 / フォルダ+アプリ名 = 3
$clip = 0

;-----

;初期設定
$lod = 0
$name = ""
Dim $szDrive, $szDir, $szFName, $szExt

;-----

;ドラッグされたファイルがない場合
If $CmdLine[0] = 0 Then
msgbox("", $tit, "ドラッグしたファイルがどのアプリで関連付けされているかを確認し" & @CRLF & "アプリのフォルダを開く、EXE化して使用します")
exit
EndIf

;ドラッグしたファイルに対してアプリ名フルパスを取得
$name = _WinAPI_FindExecutable ('"' & $CmdLine[1] & '"')

;取得したフルパスを分離
_PathSplit($name, $szDrive, $szDir, $szFName, $szExt)

;フォルダを開く
If $open = 1 Then ShellExecute('"' & $szDrive & $szDir &'"')

;クリップボードへ転送
If $clip = 1 Then ClipPut('"' & $szDrive & $szDir &'"')
If $clip = 2 Then ClipPut('"' & $szDrive & $szDir & $szFName & $szExt & '"')
If $clip = 3 Then ClipPut('"' & $szDrive & $szDir & '"' & @CRLF & '"' & $szDrive & $szDir & $szFName & $szExt & '"')

;クリップボード転送がONならツールチップを表示
If $clip > 0 Then
$lod = 100
while 1
Sleep(10)

If $clip = 1 Then ToolTip("クリップボードへ出力しました。" & @CRLF & '"' & $szDrive & $szDir &'"')
If $clip = 2 Then ToolTip("クリップボードへ出力しました。" & @CRLF & '"' & $szDrive & $szDir & $szFName & $szExt & '"')
If $clip = 3 Then ToolTip("クリップボードへ出力しました。" & @CRLF & '"' & $szDrive & $szDir & '"' & @CRLF & '"' & $szDrive & $szDir & $szFName & $szExt & '"')

$lod = $lod - 1
If $lod < 1 Then ExitLoop
WEnd

EndIf

;msgbox("", "", $name & @CRLF & $szDrive & $szDir)
exit

;ここまで -----


上をメモ帳などへコピーして拡張子 .au3 で保存し
下準備 でのリンク先にて書いてある
・EXEファイルを作る を行って EXE の実行形式にして下さい。

作ったらその作成したファイルに、例えばテキストファイルを
ドラッグするとメモ帳のアプリがあるフォルダが開きます。

何故こんな面倒なことを?配布すればいいのでは?ではありますが
ソースを提供し安心して使えるファイルを
自分で作るを目標として行っております。

いくら便利なアプリが公開されていても
安全なのか?と疑いながら使うは精神衛生上良くないからです。
その点、面倒ではありますが自分で作れば安心です。

【 目次へ戻る 】

ShellExecute_App.au3 ソース

こちらはアプリを最前列にし、Shiftキー を押したら
そのアプリが格納されているフォルダを開くという類です。
上と似ていますが、起動したアプリからフォルダを開けるので
関連付けされたファイルがないけれどフォルダを開きたいの用途で活躍。

-----

注意としましてこのスクリプトは外部のファイルが必要です。
_ProcessListProperties.au3 を作る にて
_ProcessListProperties.au3 を作り
Autoit があるフォルダの Include へ
_ProcessListProperties.au3 のみコピーして下さい。

※Include フォルダは Autoit の下準備で解凍したファイル群にあります

-----

以下、ソースです。

メモ帳などへコピペし、拡張子 .au3 で保存して下さい。
拡張子とは?の場合は以下の項目に書いておきました。
ShellExecute_File.au3 ソース


;ここから -----

#include <Misc.au3>
#include <Process.au3>
#include <file.au3>
#include <_ProcessListProperties.au3>

;_ProcessListProperties.au3 は以下のページより、1ページ目の先頭にある
;This is my custom error handler この文字から ( 先頭の ; も忘れずに )
;EndFunc  ;==>ProcessListProperties この文字までをメモ帳に貼り付けて
;_ProcessListProperties.au3 という名前にして autoit の Include フォルダへ放り込んでください
;以下のエラーが出る場合は _ProcessListProperties.au3 が存在していないか内容がおかしい、コピペミスです
;$avRET = _ProcessListProperties($Pid)
;$avRET = ^ ERROR
;Error: Unknown function name.
;https://www.autoitscript.com/forum/topic/70538-_processlistproperties/

$tit = "ShellExecute_App v1.00"
;https://kimama9.blog.fc2.com/blog-entry-1114.html

;関連付けのフォルダを開く = 1
$open = 1

;クリップボードへ結果を送らない = 0 / フォルダのみ = 1 / アプリ名のみ = 2 / フォルダ+アプリ名 = 3
$clip = 0

;-----

;初期化
$lod = 0
$Pid = ""
$exe_name = ""
Dim $szDrive, $szDir, $szFName, $szExt

;-----

;起動時、CTRL / Shift キーが押されていたら離されるまで待機
while 1
Sleep(10)
$lod = 0
If _IsPressed("10") Then $lod = $lod + 1
If _IsPressed("11") Then  $lod = $lod + 1
If $lod = 0 Then ExitLoop
WEnd
sleep(100)

;-----

;Shiftキーを押したら次へ進む様にツールチップ表示
while 1
Sleep(100)
ToolTip("調べるアプリを最前列にして Shift キーを押してください" & @CRLF & "キャンセル:CTRL キー")
If _IsPressed("10") Then ExitLoop
If _IsPressed("11") Then exit
WEnd

;アクティブアプリのPID値を取得
$Pid = WinGetProcess("[active]", "")

;PID値からアプリ名を取得
$exe_name = _ProcessGetName($Pid)

;検索していますのツールチップ表示
ToolTip("検索中:PID = " & $Pid & " / FileName = " & $exe_name)

;PID値からアプリのフルパスを取得
$avRET = _ProcessListProperties($Pid)

;ツールチップを消す
ToolTip("")

;msgbox("", "", $avRET[1][5])

;フルパスを分解
_PathSplit($avRET[1][5], $szDrive, $szDir, $szFName, $szExt)

;フォルダを開く
If $open = 1 Then ShellExecute('"' & $szDrive & $szDir &'"')

;クリップボードへフルパスを送る
If $clip = 1 Then ClipPut('"' & $szDrive & $szDir &'"')
If $clip = 2 Then ClipPut('"' & $szDrive & $szDir & $szFName & $szExt & '"')
If $clip = 3 Then ClipPut('"' & $szDrive & $szDir & '"' & @CRLF & '"' & $szDrive & $szDir & $szFName & $szExt & '"')

;クリップボードへ送った場合にツールチップを表示
If $clip > 0 Then
$lod = 100
while 1
Sleep(10)

If $clip = 1 Then ToolTip("クリップボードへ出力しました。" & @CRLF & '"' & $szDrive & $szDir &'"')
If $clip = 2 Then ToolTip("クリップボードへ出力しました。" & @CRLF & '"' & $szDrive & $szDir & $szFName & $szExt & '"')
If $clip = 3 Then ToolTip("クリップボードへ出力しました。" & @CRLF & '"' & $szDrive & $szDir & '"' & @CRLF & '"' & $szDrive & $szDir & $szFName & $szExt & '"')

$lod = $lod - 1
If $lod < 1 Then ExitLoop
WEnd
EndIf

exit

;ここまで -----


このファイルは特段 EXE に変換しなくても使えます。
実行するとツールチップが表示されますので
アプリを最前列にし、 Shiftキー を押すことで
最前列になっているアプリのフォルダが開きます。

_ProcessListProperties.au3 は私のスクリプトではありませんので
使用する場合は私の ShellExecute_App.au3 と
_ProcessListProperties.au3 のファイルを
一緒に配布するなどしないで下さい、必ず入手は別々にして下さい。

【 目次へ戻る 】

_ProcessListProperties.au3 を作る

ShellExecute_App.au3 ソース にて
_ProcessListProperties.au3 が必要ですと書きましたが作成方法です。

1.
まず以下のページに飛びまして上部に
_ProcessListProperties() - AutoIt Example Scripts
 AutoIt Forums


2.
Here is the function, with a running demo script:
がありますので、そこまで移動して下さい。

3.下へスクロールすると以下がありますので、ここからコピペの開始
; This is my custom error handler

4.以下があるのでこの行を含めてここまでをメモ帳へコピペします
EndFunc ;==>_ProcessListProperties

5.メモ帳へコピペ、貼り付けた物を拡張子 .au3 として保存します。
  名前は _ProcessListProperties.au3 です。
  先頭の _ アンダーバーを忘れないで下さい。

6.作ったら _ProcessListProperties.au3 を
  Autoit があるフォルダの Include へ
  _ProcessListProperties.au3 のみコピーして下さい。
  ※Include フォルダは Autoit の下準備で解凍したファイル群にあります

注意としてスクロールできるので全部をコピペしてしまう感がありますが
上の部分はデモが含まれているので除外します。

【 目次へ戻る 】

動画

不要かと思いましたが、必要かな?と思い
動画を作成して見ましたので宜しければどうぞ。



ShellExecute_File.au3 v1.00
00:00:00 Autoit の Aut2Exe フォルダより Aut2exe_x64.exe を起動し
     .au3 を EXE 実行形式へ変換します
00:00:29 ShellExecute_File.au3 をウィンドウへドラッグ
00:00:41 Convert ボタンで作成
00:01:01 テキストファイルを、作った EXE へドラッグすると
     テキストファイルに関連付けられたアプリのフォルダが開く
00:01:20 同じく圧縮書庫を、作った EXE へドラッグすると
     圧縮書庫に関連付けられたアプリのフォルダが開く
00:01:40 テキストファイルの関連付けを秀丸に変更してみて
     同じ類をしてみて、同じくフォルダが開きます
     通常この様な事はしませんが、一応動作するの意味合い

-----

ShellExecute_App.au3 v1.00
00:02:14 Autoit の Include フォルダを開き
     _ProcessListProperties.au3 をコピーします
00:02:54 どれでもいいのでアプリを開きます、
00:03:01 ShellExecute_App.au3 を実行します
00:03:06 ツールチップにて Shift キーを押して下さいの表示になるので
     先ほど開いたアプリを最前列にしてから Shift キー を押します
00:03:13 そのアプリの実行ファイルが格納されているフォルダが開きます
00:03:25 同じ動作を別のアプリで行います

お疲れ様でした。

-----

とまあ、こんな感じで関連付けされている
実行アプリのフォルダを素早く開こうでした。

Autoit スクリプトの環境を導入していない方からすると
面倒ではありますが、自分で作れば安心して使えるので
そこはお許しを…という。

それでは、皆様のパソコン作業が捗りますようにと
お祈りいたしまして、これにて終了です。
以上。

おすすめリンク/関連記事

Amazon / 楽天市場 / Yahoo! でお買い物をする。

関連リンク

_ProcessListProperties() - AutoIt Example Scripts
 AutoIt Forums

Autoit3 Windowsの操作を自動化
 使用方法/日本語化 ( HELPファイル )

Autoit3 関連記事 | Page 1
関連記事

コメント

非公開コメント

検索フォーム

RSS , SNS , サイトマップ

最新記事

エディタで左クリック長押しで離すと CTRL+Cキー を押す AutoHotkey v1 スクリプト Apr 20, 2024
Vivaldi で文字入力にフォーカスがなくても日本語入力を切り替える AutoHotkey v1 スクリプト Apr 02, 2024
特定の外付けドライブが接続されているかを知りバッチファイルを一時待機させる Autoit スクリプト Mar 20, 2024
2024/03 Vivaldi v6.2 ~ V6.6 で設定した事のまとめ/余分な機能の停止など Mar 05, 2024
クリップボード内の文字URLで不要な?や#以降を除去する AutoHotkey v1 スクリプト Mar 01, 2024
指定したアプリを呼び出す場合に一時待機させ ESCキー で実行する Autoit スクリプト Feb 27, 2024

バナー1

月別アーカイブ スクロール

全ての記事を表示する

2024年04月 (2)

2024年03月 (3)

2024年02月 (4)

2024年01月 (4)

2023年12月 (2)

2023年11月 (4)

2023年10月 (1)

2023年09月 (1)

2023年08月 (6)

2023年07月 (4)

2023年06月 (5)

2023年05月 (6)

2023年04月 (3)

2023年03月 (4)

2023年02月 (8)

2023年01月 (13)

2022年12月 (4)

2022年11月 (5)

2022年10月 (5)

2022年09月 (4)

2022年08月 (5)

2022年07月 (2)

2022年06月 (8)

2022年05月 (5)

2022年04月 (8)

2022年03月 (6)

2022年02月 (2)

2022年01月 (6)

2021年12月 (2)

2021年11月 (7)

2021年10月 (5)

2021年09月 (4)

2021年08月 (3)

2021年07月 (9)

2021年06月 (6)

2021年05月 (10)

2021年04月 (7)

2021年03月 (10)

2021年02月 (6)

2021年01月 (6)

2020年12月 (5)

2020年11月 (7)

2020年10月 (7)

2020年09月 (6)

2020年08月 (10)

2020年07月 (9)

2020年06月 (7)

2020年05月 (8)

2020年04月 (4)

2020年03月 (5)

2020年02月 (7)

2020年01月 (5)

2019年08月 (4)

2019年07月 (14)

2019年06月 (14)

2019年05月 (17)

2019年04月 (14)

2019年03月 (5)

2018年02月 (1)

2017年08月 (1)

2017年06月 (1)

2017年05月 (1)

2017年03月 (4)

2017年01月 (2)

2016年12月 (4)

2016年11月 (2)

2016年10月 (2)

2016年09月 (2)

2016年08月 (2)

2016年07月 (3)

2016年06月 (3)

2016年05月 (2)

2016年04月 (5)

2016年03月 (9)

2016年02月 (6)

2016年01月 (5)

2015年12月 (8)

2015年11月 (4)

2015年10月 (11)

2015年09月 (6)

2014年03月 (18)

2014年02月 (28)

2014年01月 (31)

2013年12月 (31)

2013年11月 (19)

2013年10月 (17)

2013年09月 (9)

2013年08月 (10)

2013年07月 (12)

2013年06月 (10)

2013年05月 (22)

2013年04月 (3)

2011年03月 (1)

2011年02月 (2)

2010年11月 (1)

2010年09月 (1)

2010年08月 (1)

2010年07月 (9)

2010年06月 (6)

2010年05月 (19)

2010年04月 (23)

2010年03月 (28)

2010年02月 (23)

2010年01月 (17)

2009年12月 (19)

2009年11月 (25)

2009年10月 (28)

2009年09月 (28)

2009年08月 (20)

2009年07月 (19)

2009年06月 (20)

2009年05月 (16)

2009年04月 (18)

2009年03月 (15)

2009年02月 (14)

2009年01月 (7)

2008年12月 (3)

2008年11月 (5)

2008年10月 (4)

2008年09月 (4)

2008年08月 (3)

2008年07月 (3)

2008年06月 (4)

2008年05月 (2)

2008年04月 (1)

2008年01月 (1)

2007年12月 (1)

2007年11月 (3)

2007年09月 (2)

2007年07月 (1)

2007年02月 (1)

2006年11月 (1)

2006年09月 (1)

2006年08月 (1)

2006年07月 (5)

バナー2

ジャンルランキング

[ジャンルランキング]
コンピュータ
35位
ジャンルランキングを見る>>

[サブジャンルランキング]
ソフトウェア
4位
サブジャンルランキングを見る>>

バナー3




プライバシーポリシー

詳しくは以下へ。
プライバシーポリシー

当サイトでは、第三者配信による広告サービスを利用しています。このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報 (氏名、住所、メール アドレス、電話番号は含まれません) を使用することがあります。このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、ここを参照するか ブラウザのCookie機能をオフにしてアクセスしてください。

気ままの簡易レビューは amazon.co.jp を宣伝しリンクすることによって サイトが紹介料を獲得できる手段を提供することを 目的に設定されたアフィリエイト宣伝プログラムである Amazonアソシエイト・プログラム の参加者です。

メールフォームにて入力する情報は誰がどのお問い合わせかを確実に把握するために使用いたします。 それ以外に情報を使用することはありません。

当サイトで紹介されている商品やアプリは出来るだけ客観的に記載しておりますが人により感じ方は違いますので記事とは違って感じるはあり得ます、ご了承ください。

当サイトで紹介しているアプリ ( 私の自作も含みます ) の使用やアプリの設定類は自己責任にて行ってください。 アプリ自体の仕様変更などの類により不具合が生じる場合があります。 あくまで設定の見本でありご注意ください。

当サイトはリンクフリーです、悪意の用途でない限りはご自由に。

プロフィール

・このブログの管理者:気ままさん
・性別:男
・年齢:40代
・性格:プログラミング的思考
    スキゾイド傾向
    去る者は追わず、来る者は拒まず

・趣味:読書、ブログ ( 情報の In / Out )
    プログラミング ( 素人 / 独学 )
    パソコンを少しでも快適に設定する

・一言:
ご観覧ありがとうございます。
自分が確認したパソコンの設定や
作ったプログラムなどを置いてあるサイトです。
需要のある/なしは考えず、書いておけば
何かの役に立つかもがモットー。

自分用のメモとして出来るだけわかりやすく
書いておりますが、あくまで自分目線なので
至らない箇所があります。

記事は全て私がキーボードで打っており
AIの類は一切使用しておりません。