今月の初めくらいから,生成 AI を操作することをいろいろとやっている.
最初の週は,Gemini に聞きながら WebView2 を利用することでいろいろできることがわかった.
一昔前 CHtmlView で少しだけ弄った記憶がある.
Gemini に聞きながらやっていると,何が原因かはわからないが,ある時から極端に品質が悪くなった.
それでもスレッドを新しくすることなどで何とかなっていた.
それが,昨日から…
Gemini で編集させた画像のダウンロードを,こちらからコントロールしたくなった.

Gemini に聞くと,比較的簡単に実装できる(最初は 2~3 時間)と言っていたが,実際は甘かった.
何度も同じようなことをやらされて,… 結局,今日丸々かかってしまった.
結論だけ書いておくと,–disable-web-security の指定が必要とのこと.
なぜそうなのかは,まだ説明できるほどまで理解できていない.
inline HRESULT Wv2_CreateEnvironment(
ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler* handler
, LPCTSTR browserExecutableFolder = nullptr
, LPCTSTR userDataFolder = nullptr
, ICoreWebView2EnvironmentOptions* options = nullptr
) {
tstring udf_path ;
if (userDataFolder == nullptr) {
TCHAR szTempPath[MAX_PATH];
::GetTempPath(MAX_PATH, szTempPath);
udf_path = szTempPath ;
udf_path += _T("Wv2Test_UDF") ;
}
else {
udf_path = userDataFolder ;
}
wil::com_ptr<ICoreWebView2EnvironmentOptions> swOptions = options;
if (swOptions == nullptr) {
swOptions = Microsoft::WRL::Make<CoreWebView2EnvironmentOptions>();
}
if (swOptions != nullptr) {
swOptions->put_AdditionalBrowserArguments(L"--disable-web-security");
}
return ::CreateCoreWebView2EnvironmentWithOptions(
browserExecutableFolder
, udf_path.c_str()
, swOptions.get()
, handler
);
}
これで,Gemini だけだが,編集結果の画像を引っ張れることの確認までできた.
0 人中 0 人がこの 投稿 は役に立ったと言っています。