ホーム » Windows

Windows」カテゴリーアーカイブ

2025年7月
 12345
6789101112
13141516171819
20212223242526
2728293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 118,048 アクセス




ShellExecute.. properties

ファイルやフォルダの「プロパティ」ダイアログを表示したくなった.
以前調べた時,ShellExecute の lpOperation で指定すれば良いと思っていた.
Copilot に聞いてみると,次の様なコードが表示された.

{
	LPCTSTR   filePath  = _T("E:/_backup_") ;
	HINSTANCE hInstance = ::ShellExecute(NULL,_T("properties"),filePath,NULL,NULL,SW_SHOWNORMAL) ;
	if (UINT64(hInstance) < 32)	{
		DWORD	error = ::GetLastError() ;
		tstring	str   = ::Error_FormatMessage(error) ;
		std::tout << str << std::endl ;
		}
	}
{
	SHELLEXECUTEINFO sei = {0};
	sei.cbSize = sizeof(SHELLEXECUTEINFO) ;
	sei.lpVerb = _T("properties") ;
	sei.lpFile = _T("E:/_backup_") ;
	sei.nShow  = SW_SHOWNORMAL ;
	sei.fMask  = SEE_MASK_INVOKEIDLIST ;
	if (!::ShellExecuteEx(&sei)) {
		DWORD	error = ::GetLastError() ;
		tstring	str   = ::Error_FormatMessage(error) ;
		std::tout << str << std::endl ;
		}
	}

::ShellExecuteEx は表示できるが,::ShellExecute はエラーになる.
改めてドキュメントを見ると ::ShellExecute には “properties” がない.
::ShellExecuteEx   properties



C++&Win API 設定(Windows設定アプリ)を表示する
ファイルプロパティの表示
ShellExecute()とデフォルトブラウザの起動、拡張子の関連付け

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

“!This folder protects … “

簡単にバックアップをとるためのツールを作成中.
目的としては「バックアップと復元 (Windows 7)」の様なもので,robocopy によるバックアップのみ.
ディレクトリ以下のコピー」ツールの内部的な部分を,用途を絞って用意できればと思っている.


次のコードで動作を確認していると,見慣れないフォルダがあった.

bool	test_backup	(const int csidl)
{
	tstring	fdst = _T("e:") ;
	tstring	path = ::SH_GetFolderPath(csidl) ;
	std::tout << ::u64to0t(csidl,16,8) << _T("\t") << path << std::endl ;
	{
		if (!x_CopyCommand::CheckFolderDST(fdst.c_str())) {
			fdst = ::Path_AddLastSP(fdst) + x_Copy_RootDST ;
			}
		x_CopyCommand	bc_cmd ;
		{
			bc_cmd.SetFolderDST(fdst.c_str()) ;
			bc_cmd.SetFolderSRC(path.c_str()) ;
		//	bc_cmd.Set_pause(true) ;
			bc_cmd.Execute(SW_MAXIMIZE,true) ;
			}
		}
	return	true ;
	}

C:\Users\Iwao\Desktop\!This folder protects against Ransomware. Just leave it here
!This folder protects against Ransomware.
検索すると問題ないとのこと.
検索する前からわかってはいたが,見つかった情報の内容が正しくないものがあった.
そのフォルダにある desktop.ini を開くとアイコンの指定があり,Cybereason となっている.



robocopyの良く使うオプションを用途から逆引き【Windows】
Robocopyでよく使用するオプションについてまとめてみた
Windows 11/10 の標準機能で自動システムバックアップ
【Windows 10 の基本】必要なフォルダーのバックアップを取るには?
Windows 10&11標準アプリ「Windows バックアップ」とは?:簡単に使えるバックアップ ツール
[データバックアップ編]残しておきたい8大データをピンポイント保存

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

VC でビルドできなくなった?

先日 VS 2022 のアップデートがあったので更新.
アップデート後のいつもの確認で,ツールのデバッグ版をビルドすると,いつまで経っても完了しない.
VC 2022  ビルドで完了しない
時々アップデートに失敗することがあるので,それかと思い,VC 2015 でビルドしても同様.
ここまでは 6/21 に確認.


VC 2005 でのビルドも完了しない.VC 6 では OK .
VC 2022 でダイアログベースで作成したスケルトンのままでも同様.
VC 2022 で,VB や C# のフォームアプリケーションはちゃんとビルドできる.
検索してもそれらしい情報には引っかからない.そうなると環境の問題か?


通常の MFC を使用したツール類は,今月に入ってからはビルドしていない.
.NET を利用した Web サーバは,インストールしている VC 2005 から 2022 すべてで 6/3 にビルドしている.
その後,VC 6 でのビルドは行っているが,VC 2022 などではビルドしていない?


先週までの影響しそうな変更などは次のようなもの.
NAS 環境に Dockerそのコンテナなどをインストール.
Windows Update 2025/06 .VS 2022 などのアップデート.
WSL はインストール済みだった.Docker Desktop のインストール.
Linux でもコンパイルできる様に,一部の共通のコードの修正.
VS 2022 のアップデート.


Web サーバのプロジェクトを VC 2005 と 2008 で再度ビルドすると,問題ない.VC 2010 はダメ.
VC 2005 で作成したダイアログベースのプロジェクトは 30 分程度かかるがビルドできた.


これらのことを考えると,ネットワークの問題か,インクルードの関係と思われる.
今まで長い間,インクルードの関係が次の様になっている.
VC 2010  インクルードなどの設定
今は使用していないパスの設定を整理して削除.
先日までの速度でビルドできるようになった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

NAS への mount

VirtualBox の Fedora では,次の様なコマンドで Win10 環境の _.src を参照していた.
sudo mount -t cifs -o username=user,password=pass //Z170S0/Public/…/_.SRC /mnt/_.src
今回 Win11 に VHD を移して,この辺りをどうするか調査中…
NAS への mount は,IP で指定しなければうまくいかない?
sudo mount -t cifs -o username=user,password=pass //192.168.1.xx/Public/ /mnt/public
Fedora  mount NAS


WSL で入れた Fedora の環境も同じようにできる.
ll  /mnt/public/
\\wsl.localhost\FedoraLinux-42\mnt\public


同様に Docker で入れた dorowu/ubuntu-desktop-lxde-vnc もやってみたが,こちらはうまくいかない.
mount: /mnt/public: permission denied.
mount: /mnt/public: cannot mount //192.168.1.xx/Public/ read-only.
Unable to apply new capability set.
それならばと思い Nautilus を入れてやってみたが,よくわからない.
dorowu/ubuntu-desktop-lxde-vnc   Nautilus


これらをやっていて久しぶりに思い出したのが「Ctrl」+「Z」や,nautilus & .
コマンドの後ろに & を付加すると bg で動作する.
他に fg や jobs .
xeyes   bg jobs fg
40 年近く前,アセンブルやストックフォームに印刷などで他の人に迷惑をかけた記憶がよみがえってきた.


【SMB / CIFS】LinuxでNASドライブをマウントする
LinuxでのNASへの自動マウントの方法@2024
UbuntuでNASのマウントと注意点
【Linux】【Windows】【CIFS】Windows の共有フォルダを Linux でマウント(mount)する手順
WindowsとLinuxでCIFSを使って簡単にファイル共有する方法

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows で Docker

Win11 環境での続き…
先日から NAS 環境でいろいろとやったので,ある程度すんなりできた.
dorowu/ubuntu-desktop-lxde-vnc を検索してインストール.
「Ubuntu Desktop with noVNC」
「dorowu/ubuntu-des…」を選択してインストール.
「RUN」して「Optional settings」を「↓」.
ポートを 60080 に
「Host port」に「60080」などと入力し「Run」.
60080:80 のリンクをクリック
「60080:80」のリンクをクリックするとブラウザが開く.
ブラウザの中でデスクトップが操作できる
gcc などをインストール.
GLUT を使用したコードビルドして動作することを確認.


Windows 10 homeでWSL2 + DockerDesktopでDocker環境を構築する手順
Comprehensive Guide to dorowu/ubuntudesktoplxdevnc:latest
Windows 11 + Docker + Linux開発の落とし穴
AIロボット入門2024:LXDEデスクトップ環境の使い方
【Docker】公式イメージでUbuntuデスクトップ構築手順

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows で Docker ?

Ubuntu と同様wsl ––install fedora で Fedora をインストールできた(この環境では既に入っている ).

Microsoft Windows [Version 10.0.26100.4349]
(c) Microsoft Corporation. All rights reserved.

C:\Users\Iwao\AppData\Local\Temp>wsl --install fedora
ダウンロードしています: Fedora Linux 42
インストールしています: Fedora Linux 42
指定された名前のディストリビューションは既に存在します。--name を使用して別の名前を選択してください。
エラー コード: Wsl/InstallDistro/Service/RegisterDistro/ERROR_ALREADY_EXISTS

C:\Users\Iwao\AppData\Local\Temp>

wsl --install fedora


gccglut などもインストール.
2014/09 の GLUT のコードを,2019/09 に a.out にしたものがあった.
Fedora から参照できるようにして,起動するとうまく動いた.
WSL 上の Fedora で glut の a.out を実行
ここまで特に何も考えないでやっていたが,Fedora 42 は最近になって WSL から簡単に利用できるようになったみたい.


Fedora in Windows Subsystem for Linux
WSL に標準で対応した Fedora 42 がリリースされたので試してみる(WSL 2 編)


2025/06/13
同様に Ubuntu で GLUT 関係をやったが,freeglut3 がインストールできない.freeglut3-dev は可能.

wao@B660M:~$ sudo apt install freeglut3
[sudo] password for wao:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package freeglut3
wao@B660M:~$ sudo apt install freeglut3-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglu1-mesa libglu1-mesa-dev libglut-dev libglut3.12
  libglvnd-core-dev libglvnd-dev libglx-dev libice-dev libopengl-dev libopengl0 libpthread-stubs0-dev libsm-dev libx11-dev
  libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev x11proto-dev xorg-sgml-doctools xtrans-dev
Suggested packages:
  libice-doc libsm-doc libx11-doc libxcb-doc libxext-doc libxt-doc
The following NEW packages will be installed:
  freeglut3-dev libegl-dev libgl-dev libgl1-mesa-dev libgles-dev libgles1 libglu1-mesa libglu1-mesa-dev libglut-dev
  libglut3.12 libglvnd-core-dev libglvnd-dev libglx-dev libice-dev libopengl-dev libopengl0 libpthread-stubs0-dev libsm-dev
  libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxt-dev x11proto-dev xorg-sgml-doctools xtrans-dev
0 upgraded, 27 newly installed, 0 to remove and 3 not upgraded.
Need to get 2970 kB of archives.
After this operation, 12.7 MB of additional disk space will be used.
Do you want to continue? [Y/n]

apt install freeglut3


2019/09 の a.out は libglut.so.3 がないため実行できなかった.
libglut.so.3: cannot open shared object file: No such file or directory
GLUT を使用したコードは,Ubuntu 環境でビルドし直すことで起動できるようになった.
g++ c1032.cpp -lglut -lGL -lGLU


【初心者向け】WindowsにDockerをインストールする方法|Docker Desktop編


WSL(Windows Subsystem for Linux)向けにFedoraディストリビューション登場
How to install Fedora on WSL for Windows 10 and Windows 11
MicrosoftがWSLにFedora Linuxを追加、tarベース新アーキテクチャの採用でディストリビューション拡充へ
WSLg を使って Docker 上で GUI アプリを動かす(GPUサポート付き)

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Verify you are a human

先日から,スマートアプリコントロールを有効にした環境でもテストしている.
それで,ブロックされた exe などを次の所で提出し,対応している.
https://www.microsoft.com/en-us/wdsi/filesubmission


個人的なツール類をビルドして,msi を作成
インストールしようとすると,ブロックされてしまう.
それでいつもの様に提出しようとしたが,昨日の夕方頃からファイルのアップロードができない.
Microsoft Security Intelligence の Verify you are a human で認識してくれない?
何かの制限に引っかかった?
他のブラウザで試しても,特に変わらず.


2025/05/30 15:50
アップロードできるようになったことを確認.
ブロックも解除されてインストールできるようになった.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Win11-VS6 22H2

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

start mailto:test@example.com

新しい Outlook では MAPI サポートがなくなった?
新しい Outlook で使用できない機能: 拡張性
新しい Outlook と従来の Outlook の機能の比較
そのため,テンポラリに zip として圧縮して,それを手動で起動したメールソフトに添付して利用している.
これをもう少し簡単にできないかと…


思いついたのは,どこかにアップロードして,そのリンクからダウンロードする方法.
3D ツール
https://itl.mish.work/i_Tools/upload/share/data/Iwao-index-2025-04-21.htm


最近あまり見なくなったように感じるが,次の様な html でのリンクがある.
mailto:test@example.com
これを何とか呼び出せないか?
エクスプローラのアドレス欄に “mailto:test@example.com” と入力すると,メールソフトが起動できる.


コマンドプロンプトで試すと,”start mailto:test@example.com” と入力することで同様にできた.
start mailto:test@example.com


::ShellExecute では lpFile に指定することで同じように起動できる.
::ShellExecute  mailto:test@example.com
::ShellExecute で次の様に指定すると,「件名」と「本文」にそれぞれ “Hello” と “body” が入って起動できる.
mailto:test@example.com?Subject=Hello&body=body
コマンドプロンプトでは最初うまく起動できなかった.
start コマンドを調べると,省略可能な title があり,それを “” の様に空にして指定して意図した動作となった.
Windowsコマンドプロンプトの「start」コマンドを徹底解説:基本から応用まで
start "" "mailto:test@example.com?Subject=Hello&body=body"


今回やりたかったことからは外れるが,次の様に BAT ファイルなどにしておけばテンプレートとして利用可能.
「start "" "mailto:test@example.com?Subject=Hello&body=body"」の BAT ファイル

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows SAC その後

先週ビルドしたものを,SAC が ON 環境で実行するとまたブロックされるものが幾つか…
よくわからないのが,環境によりブロックされる exe が異なる?
また,何度か起動を試みるとブロックされなくなることもあり.


他に,Windows Update で更新することにより,ブロックされなくなるものもあった.
Defender の更新


Microsoft Windows Defender の定義ファイルの更新・バージョン確認方法

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

False Positive Report

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows SAC と Defender

先日から「スマートアプリコントロール」が「ON」の状態でいろいろとやっている.
VC 2022 でビルドしたもので幾つかブロックされる exe がある.
また SAC のブロックが解除されたものでも,Defender でガードされることもある.
この場合は exe が起動されて表示後,しばらくすると勝手に終了する.


同じコードを VC 2017 などでビルドするとブロックされないこともある.
それで,VirusTotal で,幾つものアンチウィルスで誤検知されている exe のみ VC 2017 でビルドしたものに差し替え.
2025/03/14  VC 14.3 , 14.1
それを msi として作成して SAC ON 環境で起動すると,ブロックされることなくインストールできた.

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

exe に自己署名証明書

先日から「スマート アプリ コントロール」に関していろいろやっている.
多くの exe はうまく起動するようになったみたいだが,まだブロックされてしまうものがある.
ClipView.exe   VC.14.3  2025/03/05 16:58:52
それで,自己署名証明書について調べた.


検索すると次のようなページが見つかる.
コード署名用証明書と Visual Studio での署名設定
自己証明書を作成して実行ファイルに署名する
自作ソフト「exe」への自己署名 VisualBasic
が,詳しく書かれているため,簡単に手順をまとめたものが欲しかった.次の所に書かれている.
テストや社内使用のために独自の証明書を作成する


そこに書かれていることと同じだが…
1. makecert.exe で cer と pvk を作成.
2. pvk2pfx.exe で cer と pvk から pfx を作成.
3. signtool.exe で pfx を exe などに追加.
4. インストール先に cer を登録.


"C:\Program Files (x86)\Windows Kits\10\bin\x86\makecert.exe" -r -sv MyCert.pvk -n "CN=DevABC" MyCert.cer -b 01/01/2025 -e 01/01/2100
"C:\Program Files (x86)\Windows Kits\10\bin\x86\pvk2pfx.exe"  -pvk   MyCert.pvk -pi test  -spc MyCert.cer -pfx MyCert.pfx -po test
"C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe" sign /fd SHA256 /f MyCert.pfx /p "test" ClipView.exe

ClipView.exe  に自己署名証明書を追加
これでこの exe も起動できるようになった.
VirusTotal 自己署名証明書 なし あり


2025/03/12
何かを間違えたのか,自己署名証明書を追加した msi のインストールがうまく動作しない.
「自己署名証明書」月の場合,SAC に引っかかる.
オリジナルの iTls143.msi 2024/12/16 17:24:28 ならば OK .
「自己署名証明書」を付加したのもので「修復」


2025/03/13
昨日うまく動作しなかった msi も,今日は大丈夫になった.
が,「修復」を選択した場合は相変わらず…
一度「削除」して,新規にインストールする手順であれば OK .


2025/03/14
exe の場合,最後に 1344 バイト付加されている.
exe  最後に付加されている


Windows向けソフトウェアのコードサイン証明書の署名方法
exeファイルと証明書を作成してデジタル署名を付与してみる
検証用コードサイニングEXEと無署名EXE

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

スマートアプリコントロール

私が作成している exe ではないが,「スマート アプリ コントロール」に引っかかると聞いて,いろいろと試した.


メイン PC などは「オフ」になっているので,仮想マシンに「Win11 24H2 Feb 2025」を新規インストール.
個人的に作成したツールなどをコピー.VS 6 をインストール.
仕事で作成しているパッケージ 2024.10 をインストール.


一通りの動作を確認.ほぼ問題なさそうだったが,一部の個人的なツールが引っかかった.
以前からある Defender の「許可」する様な操作で復元.
CopyNewF.exe  Trojan:Win32/Wacatac.B!ml
この段階で VirusTotal でチェックすると確かに引っかかっている.
VirusTotal  CopyNewF.exe
「スマート アプリ コントロール」の設定は「評価」が選ばれている状態.


仮想ハードディスク vdi をコピー.
コピーした方の「スマート アプリ コントロール」の設定を「オン」に(Win11-SAC).
すると個人的なツール.msi をインストールしようとするがインストールできない
検索すると「スマート アプリ コントロール」の影響らしい.
どうしたものかと思いながら,もう一つの「評価」となっている仮想マシン(Win11-PFW)でいろいろと操作.
また並行して今回テストしている exe を VirusTotal でチェック
数個の exe が引っかかった.それぞれ「許可」して復元.


そんなことをいろいろとしていると「オン」の方でも exe が動作するようになった.
また,msi を使用したインストールも可能になっている.


2025/03/10
先日うまく動作するようになったものが,またガードされてしまうものがある.
他の仮想マシンで exe を起動すると,その後うまく動作するようになったり…
また,インストールした exe が消された(隔離された)ものもあった.
VirusTotal   ClipView.exe 2025/03/05


Windows 11 22H2のスマート アプリ コントロールの挙動#1
【Windows11】スマートアプリコントロールをオフにする手順と注意点


2025/03/17
先週ビルドして,個々の exe などはうまく動作することを確認.
それをインストールするために msi を作成したが,そちらは SAC に引っかかる状態.
今日確認すると,msi でインストールできないのは相変わらず.
個々の exe を起動しようとすると,半分くらいが SAC に引っかかる様になっていた.
休みを挟んでしまう(期間があいてしまう)と,何か(カウンタの様なもの)がリセットされてしまうのか?
いろいろと探していたら,Microsoft の報告するページを見つけた.
Microsoft Security Intelligence      Submit a file for malware analysis
その中に「Smart App Control」の選択肢があったので,報告してみた.
Submit a file for malware analysis
進行状況を「More」-「Submissions」-「View submission history」で確認できる.
View submission history


2025/03/18
1つの exe は完了して,SAC に引っかからなくなった.VirusTotal ではまだ他のもので誤検出あり
msi などは「In progress」
「Completed」となったので確認すると,修復されたとある.
msi でのインストールも通る様になった.


2025/03/24
朝動作を確認すると,先日インストールできた exe の 5/22 が,またブロックされるようになっていた.
いろいろとやって,今はうまく起動するようになっている.
また msi もダメで,アンインストール後インストールを試すとブロックされてしまう.
SAC が有効な仮想マシンを新規に作成して,開発している製品の 2024.10.iso でインストール…
が,ブロックされてインストールできない.
しばらくいろいろとやっていると,そのうちにインストールできるようになった.
午前中ダメだったものも含め,いろいろなもののブロックが解除されたみたい.

Is this 投稿 useful? Useful Useless 1 of 1 people say this 投稿 is useful.

2D 配列の配列の ::PolyPolygon

2 年位前に書いた,2D 配列を表示するコード.

BOOL	PolyPolygon	(HDC hDC,const v_Vd2A& v_v2a)
{
	std::vector <POINT>	points ;
	std::vector <int>	counts ;
	for (size_t index=0 ; index<v_v2a.size() ; index++) {
		const	Vd2A&	v2a = v_v2a[index] ;
		for (size_t p_index=0 ; p_index<v2a.size() ; p_index++) {
			Vd2	vd2  = v2a[p_index] ;
			POINT	pt2  = {  long(vd2.x) , long(vd2.y)  } ;
			points.push_back(pt2) ;
			}
		counts.push_back(int(v2a.size())) ;
		}
	return	::PolyPolygon(hDC,&points[0],&counts[0],int(counts.size())) ;
	}

それ以前は,コンソール AP で DC を使うことを考えてなかった.
また最近は,コンソール AP での GDI 描画もしていなかった.


今やろうと思っていることで,個人的なコードを調べていて

{
	HWND	hWnd = ::GetConsoleWindow() ;
	{
		vv_PLF	d_plf = vvplf ;
		{
			d_plf = ::PLF_Translate(d_plf,Vd3(200)) ;
			}
		::ClearWindow(hWnd) ;
		HDC	hDC  = ::GetDC(hWnd) ;
		{
			v_Vd2A	v_v2a = ::ToVd2A(d_plf) ;
			::PolyPolygon(hDC,v_v2a) ;
			}
		::ReleaseDC(hWnd,hDC) ;
		}
	}

こんな感じで使える.
::PolyPolygon  ( HDC , v_Vd2A )
WebGL での 3D データ表示


やりたかったのは,三角形分割で正しくできたかどうか?

	Vd3A	v3a = ::ToVd3A(pts) ;
	{
		Vd3 	nv  = ::V3_GetNormal(v3a) ;
		std::tout << nv.Length() << std::endl ;
		}
	{
		v_Vd3A	t_a = ::V3_Triangulation(v3a) ;
		Vd3 	n_v ;
		for (size_t index=0 ; index<t_a.size() ; index++) {
			Vd3A	tri = t_a[index] ;
			Vd3 	tnv = ::V3_GetNormal(tri) ;
			n_v += tnv ;
			}
		std::tout << n_v.Length() << std::endl ;
		}

n点からなる多角形の面積を求める
多角形の面積を求める
多角形の面積(凸じゃなくても可)は外積で求まる

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

ダブルクリックで開かない

MDI exe で,ドキュメントをダブルクリックして開けないものがある.
exe が起動された後,もう一度ダブルクリックすると開ける.
ドキュメントをダブルクリックで exe は起動するが,データが開かれない.
VC のバージョンによる違いかと思っていたが,他にも何か条件がありそう.
VC6 exe は問題なさそう.VC12 でうまくないことはあった.VC 2022 exe は今は開けない.
いろいろやっていると開けるようになることもある.


この動作をデバッガで確認したいと思ったが…
最初 DebugBreak() を追加してみたが,うまく止められなかった.
それで,次のようにメッセージボックスを表示して停止し,デバッガからアタッチしてテストすることにした.

BOOL CGLSmthApp::InitInstance()
{
	if (!AfxOleInit()) {
		AfxMessageBox(_T("OLE の初期化に失敗しました。")) ;
		return	FALSE ;
		}
#ifdef	_DEBUG
//	DebugBreak();
	AfxMessageBox(_T("Wait")) ;
#endif
	//	...
	}

これでデバッグ自体はできるようにはなったが DDE の動作部分はうまくデバッグできない.


結局どうすれば良いのかはわかっていないが,DDE が動作するときに時間がかかるとうまく開けない?

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

レジストリに文字化けしたキー

先日から CDocManager::RegisterShellFileTypes 関係を調べている
以前やった時は,MFC に依存した自前のコードが多かったのと,もう少し使いやすくできないかと…


それでいろいろとやっていると,レジストリの HKCU\Software\Classes\ の下に文字化けしたものができてしまった.
HKCU_Software_Classes___
REG_SZ の (ext)_auto_file となっている.
これは,ドキュメントをダブルクリックして「常に使う」を選んだ時と思うが,はっきりしない.
Win10 環境でも同様?
Win10   HKCU\Software\Classes\ ...


レジストリの直接編集によるファイルの拡張子と関連づけ
Windows 11とレジストリに非ASCII文字を利用するアプリに非互換問題 ~BSoDが発生
特定のレジストリ キーを削除できません。キーの削除中にエラーが発生する


関連付けのレジストリをチェックしましょう

Is this 投稿 useful? Useful Useless 1 of 1 people say this 投稿 is useful.

Win11 コンソール AP で DC

今まで Win10 をメインで使用していたので気づかなかったが…
Win10 でうまく使えていた GDI の描画が Win11 ではうまく行われない?
どうも,デフォルトの設定では新しい「ターミナル」が使用されることによるみたい.
「Windows コンソール ホスト」を選択
ターミナルの「設定」から入って「Windows コンソール ホスト」を選択して「保存」する.


これで正しく表示されるようになった.
Win11 コンソール AP で GDI 描画

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

シンボリックリンクがない?

先日から ZIP を扱うコードを書いている.
いつも exe を作成するのは,VC 6 と VC 2015 以降が多い.
今回は,幾つかの環境(Win7 など)での動作を確認したかったので,VC 9 でビルドしたものもテストしていた.
Win10 環境では特に問題なかったが,Win11 環境でうまく機能しない動作がある.
VC 6 や VC 8 でビルドしたものは OK .また,VC 2015 以降も良さそう.
リリース版とデバッグ版での違いはなさそう.
VC 9 と VC 10 でビルドしたものがうまくないことがわかった.

VC 9 で,デバッガで追いかけていくと,stat の _tsopen_s で見つからないとなってしまう.
VC 8 以前ではその部分はなく,VC 11 以降では _O_OBTAIN_DIR が設定されている.
VC 8 9 11  stat

検索するとシンボリックディレクトリリンクがサポートされていないみたい.
FIX”_stat”または”_wstat”関数が失敗した ENOENT エラーとディレクトリのシンボリック リンクのパスは、Visual C++ 2010 アプリケーションに渡されたとき
Update: “_stat” oder “_wstat”-Funktion nicht mit ENOENT Fehler, wenn ein symbolische Verknüpfung Verzeichnispfad zu Visual C++ 2010 Anwendung übergeben wird
“_stat ファミリ” の関数呼び出しでは、Visual Studio 2013、2012、または 2010 の C ランタイム ライブラリ関数のシンボリック ディレクトリ リンクはサポートされていません
Function calls of “_stat-family” do not support Symbolic Directory Links for C Runtime Library functions from Visual Studio 2013, 2012, or 2010
対応は VC 2015 以降を使用する必要がある?

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.

Windows SSH サーバ設定

昨日 SSH サーバインストールして動作する所までを行った.
そのままでは不安があるので,検索すると C:\ProgramData\ssh\sshd_config で設定することがわかった.


sshd_config を編集するためには,メモ帳などを管理者として実行する必要がある.
メモ帳を管理者として実行


設定を変更して,起動しようとするとうまく起動しない.
SSH Server の起動


いろいろとエクスプローラなどで見ていた時,次のフォルダを開いてしまったのがいけなかった.
C:\ProgramData\ssh\logs
原因,対応は次の所と同じ.
WindowsアップデートでOpenSSHが起動しなくなった問題(2024年10月アップデートの影響)

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.