”翻訳”しただけですが…..。
DiscordのDelphi Users (Japan)に書かれたDEKOさん(この方もfameさんです)の以下のQiitaの記事
に触発されて、”翻訳”してみました。もちろん手動です。要するに、

このダイアログがうざいので、出ないようにしたいというわけですね。ソース2の方を”翻訳”しました。前に書きましたけど、Delphiのソースが読めると色々と吉です。ソース2の方の原典は上記サイトを当たっていただいて、翻訳後のプログラムだけ載せます。フォームは、

TMemoだけ。Unit1.hは、不要かもしれませんが、
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE で管理されるコンポーネント
TMemo *Memo1;
private: // ユーザー宣言
public: // ユーザー宣言
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endifUnit1.cppは、
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include <IOUtils.hpp>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
String ZI_FILENAME = "Zone.Identifier";
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
String Path = "./";
String SearchPattern = "*.*";
TSearchOption Option = TSearchOption::soTopDirectoryOnly;
TStringDynArray files = TDirectory::GetFiles(Path, SearchPattern, Option);
for (int i = 0; i < files.Length; ++i){
Memo1->Lines->Add(files[i]);
String FSFileName = files[i] + ":" + ZI_FILENAME;
if( TFile::Exists(FSFileName) ){
DeleteFile(FSFileName);
Memo1->Lines->Add("stripped " + FSFileName);
}
}
}これだけです。一応処理したファイルを表示します。実行プログラムがあるディレクトリをスキャンして、すべてのファイルを検分して、”Zone.Identifier”を持っているかをチェックし、持っていればそのパートを削ります。実行結果は、

のようになり。zipアーカイブからIdentifierが取り除かれたことがわかります。これを解凍してバイナリを実行しても”うざいダイアログ”は出ません。DEKOさんによるとダウンロードリンクからcurlでファイルを取ってくるとIdentifierは付加されないということなので、試して見ましたがその通りでした。余計(?)なことをやっているのはEdgeやらChrome君たちブラウザだったということでした。本サイトの”らじる☆らじる聞き逃しサーチアプリ”のダウンロードリンクのurlは、
https://ghost.mydns.jp/wp/download/2654/?tmstv=1778134251
なので、
curl -o somewhat.zip https://ghost.mydns.jp/wp/download/2654/?tmstv=1778134251
とかで吉ですね。


コメント