[nFinder] D&D対応とか


最終更新:2018-11-14 00:52:00

https化に伴って動かなくなった点の対応をいくつか。
http/https両対応になってるはず。

他ブラウザ等から@ViewへのhttpsなURLのD&D対応#

兼 @View等右クリックメニュー「貼り付け・登録」のhttpsなURL対応
兼 プレイヤー画面の動画説明部分へのhttpsなインターネットショートカットファイルD&D対応。
1. nFinder2 → nFinder2.exe → TrinityCS → NetUtil を開く
2. 「string GetRedirectUrl」を検索
3. Edit Method (C#)...
4. 「"http://t.co/"」のある行の前に「url = System.Text.RegularExpressions.Regex.Replace(url, "^(http)s(://www.nicovideo.jp)", "$1$2");」という行を追加
5. Compileで保存。
(保存後には「System.Text.RegularExpressions.」が消えてると思うけど問題なし)

他ブラウザ等からDLリストへのhttpsなURLのD&D対応#

1. nFinder2 → nFinder2.exe → nFinder → mFinder_Main を開く
2. 「void obj_DLMainListView_DragDrop」で検索
3. 2箇所「"http://www.nicovideo.jp/watch/"」があるので、両方ともEdit IL Instructionsで「"://www.nicovideo.jp/watch/"」に変更

他ブラウザ等からDL予約一覧へのhttpsなURLのD&D対応#

1. nFinder2 → nFinder2.exe → nFinder → mFinder_Main を開く
2. 「void obj_DLYoyakuListView_DragDrop」で検索
3. 2箇所「"http://www.nicovideo.jp/watch/"」があるので、両方ともEdit IL Instructionsで「"://www.nicovideo.jp/watch/"」に変更

ダウンローダー部分の「登録」「クリップボードから登録」ボタンのhttpsなURL対応#

1. nFinder2 → nFinder2.exe → nFinder → mFinder_Main を開く
2. 「void obj_CtxDLAddList_Click」で検索
3. 「Regex.Replace(text, "\r\n$", "")」のある行(20行くらい下)を右クリック → Edit IL Instructions
4. 「"\r\n$"」を「"\r\n$|(http)s(://[^/\"><]*nicovideo.jp)"」に変更
5. 「""」を「"$1$2"」に変更
6. OKで保存

マイリス画面の入力欄へのhttpsなURL対応#

単に入力されたurlを自動でhttpにするだけ。
1. nFinder2 → nFinder2.exe → nFinder → mFinder_Main を開く
2. 「void TabIF_Mylist」で検索
3. 「this.obj_LVMenu_MylistTextBox1.Text = 」で始まる行(複数あるけど一個目)を右クリック → Edit IL Instructions
4. 色薄いけど右クリックした行が選択状態になってるので、Ctrl+C → Ctrl+V
5. 1個目の「"\t"」を「"(http)s(://[^/\"><]*nicovideo.jp)"」に変更
6. 次の行「" "」を「"$1$2"」に変更
7. その下の「ldc.i4.1」「ldc.i4.m1」「ldc.i4.1」な行を3つとも削除 (行番号左クリック → 右クリック → Delete Instructionsとか)
8. その下の「Strings::Replace」がある行を左クリック → Method...
9. System → System.dll → System.Text.RegularExpressions → Regex → Replace(string, string, string) : string を選択して OK
10. OKで保存。
「this.obj_LVMenu_MylistTextBox1.Text = Regex.Replace(this.obj_LVMenu_MylistTextBox1.Text, "(http)s(://[^/\"><]*nicovideo.jp)", "$1$2");」
って行が増えてれば成功。

プレイヤー画面タイトルバーへのhttpsなインターネットショートカットファイルD&D対応#

1. nFinder2 → nFinder2.exe → nFinder → mPlayer_Sputnik を開く
2. 「"^URL="」で検索(2箇所ある。Path.GetExtensionが近くにあるほう)
3. ヒットした行を右クリック → Edit IL Instructions
4. 「"http://www.nicovideo.jp/watch/"」を「"https?://www.nicovideo.jp/watch/"」に
5. 2行下のString::Replaceがある行を左クリック → Method...
6. System → System.dll → System.Text.RegularExpressions → Regex → Replace(string, string, string) : string を選択して OK
7. 同じ行左、「callvirt」を「call」に変更
8. OKで保存。
「this.RegPlayList(Regex.Replace(Regex.Replace(text3, "^URL=", ""), "https?://www.nicovideo.jp/watch/", ""), -1);」
に変化してれば成功。

プレイヤー画面「開く」メニューでhttpsなインターネットショートカットファイルを開けるようにする対応#

1. nFinder2 → nFinder2.exe → nFinder → mPlayer_Sputnik を開く
2. 「"^URL="」で検索(2箇所ある。openFileDialog.FileNameが近くにあるほう)
3 - 7. 上述のプレイヤー画面タイトルバーでの修正と同じ
8. OKで保存。
「this.RegPlayList(Regex.Replace(Regex.Replace(text2, "^URL=", ""), "https?://www.nicovideo.jp/watch/", ""), -1);」
に変化してれば成功。

exeへのhttpsなURLの引数渡し対応(未起動時用)#

判定処理全部書き換えるの面倒なので、最初にhttpに変えちゃえばいいやという横着。
1. nFinder2 → nFinder2.exe → nFinder → mEntryPointClass を開く
2. 「CommandLine」で検索(Me_Shown内にある)
3. 2行下、「array5[num2] = text3;」を右クリック → Edit IL Instructions
4. 選択範囲内「stelem」ってある行の行番号を一度左クリックで1行だけ選択状態に
5. そのまま右クリック → Add New Instruction Before Selection を3回(nopが3行増える)
6. 増えた1個目のnopをldstrに変更
7. 右に「""」って出るので「"^(http)s(://[^/\"><]*nicovideo.jp)"」に変更
8. 2個目のnopをldstrに変更
9. 右に「""」って出るので「"$1$2"」に変更
10. 3個目のnopをcallに変更
11. 右に「null」って出るので左クリック → Method...
12. System → System.dll → System.Text.RegularExpressions → Regex → Replace(string, string, string) : string を選択して OK
13. OKで保存。
「array5[num2] = Regex.Replace(text3, "^(http)s(://[^/\"><]*nicovideo.jp)", "$1$2");」
に変化してれば成功(text3じゃなくてinputになってるかも。その場合1,2行上の「text3」だったとこが「input」に変わっていたなら問題なし)。

exeへのhttpsなURLの引数渡し対応(起動済時用)#

場所が分かれてるけど、修正内容は未起動時用の手順とおんなじ。
1. nFinder2 → nFinder2.exe → nFinder.My → MyApplication を開く
2. 「CommandLine」で検索(MyApplication_StartupNextInstance内にある)
3. 2行下、「array[num] = text;」を右クリック → Edit IL Instructions
4 - 14. 未起動時用と同じ
15. OKで保存。
「array[num] = Regex.Replace(text, "^(http)s(://[^/\"><]*nicovideo.jp)", "$1$2");」
に変化してれば成功(textじゃなくてinputになってるかも。その場合1,2行上の「text」だったとこが「input」に変わっていたなら問題なし)。

プレイヤー内のオススメ動画をクリックしても反応しない対応#

並べ替えが機能しない理由は不明。運営側が機能削ったんだと思うけど。
1. nFinder2 → nFinder2.exe → nFinder → mPlayer_Sputnik を開く
2. 「viaSPUTNIKFunc_OpenLogget」を検索
3. 数行上の「"http://www.nicovideo.jp/watch/"」が含まれる行を右クリック → Edit IL Instructions
4. 「"http://www.nicovideo.jp/watch/"」を「"://www.nicovideo.jp/watch/"」に変更
5. 4行下の「ceq」を「cgt」に変更
6. OKで保存。
「flag2 = (Microsoft.VisualBasic.Strings.InStr(text, "://www.nicovideo.jp/watch/", CompareMethod.Text) > 1);」
に変化してれば成功。
お知らせ
実務でも趣味でも役に立つ多機能Webツールサイト【無限ツールズ】で、日常をちょっと便利にしちゃいましょう!
無限ツールズ

 
writening