VS Installer
久しぶりにインストーラを…
今までのものは「VS インストーラ」.
前も使ったが忘れていた.アンインストールで,ファイルをそのまま残す設定.
「Permanent」を「True」に.
ショートカットなどを作成すると,アンインストール時に時間がかかってしまう.
それで,以前は使ってなかったが,更新版のインストール.
「RemovePreviousVersions」を「True」に.
「Version」を更新する.同様に exe などの更新も必要.bmp などはタイムスタンプでいける?
2024/06/21
どこかに設定があるのかもしれないが「Permanent」を「True」としてインストール後「False」としても効かない?
01727 : アンインストール時にファイルが削除されない(msi 形式 インストーラ)
次の所に “00000000000000000000000000000000” が入っているので削除する必要があった.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\…
いろいろ検索してみたが,レジストリの該当箇所を削除するしかなさそう.
Recommended way to uninstall a file that was configured as “Permanent” once
VS 2022 インストール
VS 2022 があったのでインストール.
共通の C の include などは VC 10 からの設定が引き継がれている(同じ所).
フォールバックの設定を E:\Temp\_Fallbck に.
MFC などランタイムは VC 2015 以降同じもの.
3D ビューアをビルドしたが,その範囲では,特に目立った違いはなさそう.
Current という表現は何なんだろうか?
VC のランタイム vc_redist.x86.exe などは次の所にまとめている.
https://mish.work/joomla/index.php/cpp/ref-vcredist-xxx-exe.html
VC 2015 から 2022 までは,同じもので動作する.
AS5202T VirtualBox に WS2022
ASUSTOR NAS AS5202T の VirtualBox 環境に Windows Server 2022 のインストール.
最初,リモート接続するための設定箇所がわからなかった.
Net Address の所に,アドレス(127.0.0.1 だったと思う)が入っていて,それをクリアする必要があった.
あとは,通常の手順.
「Ctrl」+「Alt」+「Delete」にあたるものがわからなかったが,これは,「Ctrl」+「Alt」+「End」.
マウスの位置がずれていたが,VirtualBox Guest Additions を入れて対応.
VS 6 と SP6 を入れて,今の所デバッグなどもできている.
https://dev.mish.work/wordpress/2021/06/10/win-10-vs6-install/
2021/11/10
リモートデスクトップ内の画面コピーは,「Ctrl」+「Alt」+「+」.
アクティブウィンドウのコピー 「Ctrl」+「Alt」+「-」.
2021/11/29
LAN 上の他の PC からの参照は問題なさそうだが,WS2022 から他の PC への参照が非常に遅い.
以前同じ様な環境に Win10 を入れていたが,この時も他からの参照のみだったので気づかなかった.
PC 上の仮想マシン は,速くはないが使えるレベル.NAS なので,これが限度か?
WS2022 ASP ActiveX dll exe の設定
必要に応じてファイアウォールの設定.
オートメーションを使用しているのでエラーになる.
サーバ上で確認すると,
An error occurred on the server when processing the URL. Please contact the system administrator.
If you are the system administrator please click here to find out more about this error.
「ASP」-「機能を開く」で「ブラウザへのエラー送信」を「True」に.
Server オブジェクト エラー ‘ASP 0177 : 800401f3’
Server.CreateObject に失敗しました
/_LIB_/L_Mainte.asp, 行 33
800401f3
エラーは Server.CreateObject を呼んでいる所.
set oFCnt = Server.CreateObject("AsFile.Counter")
AsFile.dll を登録 .
この dll は 32 ビットなので「32 ビット アプリケーションの有効化」.
次の様な asp を実行してテスト.
<%@ Language=VBScript %>
<% Option Explicit %>
<HTML>
<BODY>
<%
on error resume Next
dim oFCnt : set oFCnt = Server.CreateObject("AsFile.Counter")
dim oImgC : set oImgC = Server.CreateObject("AsImageConverter.Application")
Response.Write "AsFile Count.." & oFCnt.GetVersion & "<br>" & vbCrLf
Response.Write "AsImgC App …" & oImgC.GetVersion & "<br>" & vbCrLf
%>
</BODY>
</HTML>
AsimageConverter は exe でまだ登録していない状態.
「管理者」として起動したコマンドプロンプトで,AsImgCnv.exe を登録.
「コンポーネント サービス」で,IUSR が起動できるように設定.
32 ビット exe は,そのままの comexp.msc の起動では表示されない.
「 %windir%\system32\comexp.msc /32 」の様に /32 のオプションの指定が必要.
「セキュリティ」タブ-「起動と…」-「カスタマイズ」-「編集」.
「IUSR」を追加して「ローカルからのアクティブ化」にチェック.
これで 32 ビットのオートメーション dll と exe が起動できるようになる.
「ODBC データソース 32 ビット」の設定.
設定直後は,次のエラーになることがある?
Provider エラー ‘80004005’
この場合は OS を再起動すればうまく動作する 様になる.
参考にさせてもらったところ.
64bit Windows 環境で 32bit の DCOM コンポーネントを登録しても一覧に表示されない
64bit版Windowsでx32bit版のDCOMが表示されない
WS2022 Classic ASP インストール
Windows Server 2022 を VirtualBox 仮想マシンにインストール.
特に難しい所はない.
続いて Classic ASP のインストール.
「サーバーマネージャー」で「管理」-「役割と機能の追加」.
「サーバーの役割」で「Web サーバー(IIS)」を選択.
「役割サービス」で「ASP」を選択.
ASP をインストール.
簡単な asp ファイルを作成.
MSDN 2001/10
mk:@MSITStore:C:\Program%20Files%20(x86)\Microsoft%20Visual%20Studio\MSDN\2001OCT\1041\jpiis.chm::/iishelp/iis/htm/asp/iiwabasi.htm
<%@ Language=VBScript %>
<HTML>
<BODY>
This page was last refreshed on <%= Now() %>.
</BODY>
</HTML>
参考にさせてもらったところ.
Windows Server 2022 にIIS 10.0をインストールし、ASP.NETを有効化
windows server 2016で、classic asp を有効化
Windowsの機能の有効化(Windows Server 2016)
Windows のパスワードの複雑性の要件を無効にする (Windows Server Tips)
繋がらない!Windows10で共有フォルダにアクセスできない時の対処法
次のツールも問題なく動作した.
Win10 用 タイトルバーの色設定
2021/11/09
共有フォルダにアクセスしようとすると,アクセスできない.
[Window Title]
ネットワーク エラー
[Main Instruction]
\\WS2022 にアクセスできません
[Content]
名前のスペルを確認しても問題がない場合は、ネットワークに問題がある可能性があります。ネットワークの問題を識別して解決するには、[診断] をクリックします。
[^] 詳細を非表示にします [診断(D)] [キャンセル]
[Expanded Information]
エラー コード: 0x80070035
ネットワーク パスが見つかりません。
Win7 環境や Win10 20H2 などからは問題なくアクセスできる.
「グループポリシーでゲストログオンを許可する」必要があった.
サーチコンソールの警告と VirusTotal
以前から,このサイトで「一般的ではないダウンロード」の警告が表示されている.
対応方法がわからずそのままとなっていた.
「ウィルス対策ソフト 誤検知」などで調べていて,VirusTotal を見つけた.
同じコードでも VC の異なるバージョンでビルドしたもので結果が異なる.
VC | 8 | 11 | 12 | 141 | 142 |
GLSm | 0 | Cylance Unsafe |
0 | Cylance Unsafe |
0 |
i3DC | 0 | Cylance Unsafe |
Microsoft Trojan:Win32/Sabsik.FL.B!ml |
Microsoft Trojan:Win32/Sabsik.FL.B!ml |
0 |
i3DV | 0 | Cylance Unsafe |
Microsoft Trojan:Win32/Sabsik.FL.B!ml |
0 | |
S_as | SecureAge APEX Malicious |
SecureAge APEX Malicious |
0 | 0 | |
TDIB | 0 | Cylance Unsafe |
0 | 0 |
VC 6 SecureAge APEX Malicious
VC 9 SecureAge APEX Malicious , VBA32 Heur.Malware-Cryptor.Hlux
VC140 Cylance Unsafe
VC 10 , 142 は 0 .
これで順につぶしていけば,「一般的ではないダウンロード」の警告はなくなるか?
削除中にエラーが発生しました
また,削除できないキーができてしまった.
[Window Title]
キーの削除エラー
[Content]
・ を削除できません。削除中にエラーが発生しました。
[OK]
RegDelNull を探すと,場所が変わっていた.
RegDelNull v1.11
使い方は以前と同じ.
Microsoft Windows [Version 10.0.19043.1288] (c) Microsoft Corporation. All rights reserved. C:\Users\Iwao>cd %TMP% C:\Users\Iwao\AppData\Local\Temp>J:\Download\Tools\MS\Regdelnull\RegDelNull.exe RegDelNull v1.11 - Delete Registry keys with embedded Nulls Copyright (C) 2005-2016 Mark Russinovich Sysinternals - www.sysinternals.com Scan complete. C:\Users\Iwao\AppData\Local\Temp>J:\Download\Tools\MS\Regdelnull\RegDelNull.exe hkcu\SOFTWARE\Iwao\****\x86\BAPMan RegDelNull v1.11 - Delete Registry keys with embedded Nulls Copyright (C) 2005-2016 Mark Russinovich Sysinternals - www.sysinternals.com Null-embedded key (Nulls are replaced by '*'): HKCU\SOFTWARE\IWAO\****\X86\BAPMAN\?* Delete? (y/n) y Key successfully deleted. Scan complete. C:\Users\Iwao\AppData\Local\Temp>
::SetWindowPos(hWnd,…)
wndTopMost で,Z オーダーの最前面に.
{
CRect rect ;
GetWindowRect(&rect) ;
SetWindowPos(&wndTopMost,rect.left,rect.top,0,0,SWP_NOSIZE|SWP_NOACTIVATE) ;
}
幾つかの環境ではこれでうまく動作している.
今日作成したツールの CMSetNmTDlg::OnInitDialog() にこれを追加.
Win10 のホスト環境で最前面に移動しない.
仮想マシンで試すと意図した動作.
ホストの,以前に起動したツールは前面のまま保持された.
が,一度終わらせて再起動したら,最前面にならなくなった.
ちょっとよくわからないが,何かが邪魔しているのか?
PC を再起動すれば直るかもしれないが…
とりあえずメモ.
2021/10/25
explorer.exe の再起動でうまく動作する様になったみたい.
他 AP などからの操作の場合 SetForegroundWindow
2023/07/12
Windows API だと次の様に指定できる.
::SetWindowPos(this->GetSafeHwnd(),HWND_TOPMOST,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE) ;
2 つ目の引数は次のものが指定可能.
#define HWND_TOP ((HWND)0)
#define HWND_BOTTOM ((HWND)1)
#define HWND_TOPMOST ((HWND)-1)
#define HWND_NOTOPMOST ((HWND)-2)
2024/12/04
MFC では次の方が簡単?
{
SetWindowPos(&wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE|SWP_NOACTIVATE) ;
}
ADM 更新で WordPress が…
スマートフォンの AiMaster で ASUSTOR NAS にアクセスすると ADM のアップデートがあった.
特に気にすることなく更新.
その後,この NAS の WordPress のページにアクセスしようとすると開けない.404 になってしまう.
AiMaster ではわかり辛いので,今度は PC から ASUSTOR NAS へアクセス.
すると WordPress などがグレーになっている.
ネットワーク上などから WordPress のフォルダも見えない.
App Central で確認すると WordPress などの機能が無効(OFF)になっている.
画像をとり損ねたが,ON にしようとすると「MariaDB の更新が必要」とのメッセージが表示された.
MariaDB に入ると更新が始まった.
更新後,App Central で WordPress などを ON に.
ちゃんと動作する様になった.
FBX SDK 2020.2.1 に更新
FBX SDK を 2020.2.1 に更新.
プロジェクト設定の,インクルードとライブラリのディレクトリを変更.
C:\Program Files\Autodesk\FBX\FBX SDK\2020.2.1\include;%(AdditionalIncludeDirectories)
C:\Program Files\Autodesk\FBX\FBX SDK\2020.2.1\lib\vs2019\x86\$(Configuration);%(AdditionalLibraryDirectories)
特に問題なくビルド完了.動作テストはこれから.
#pragma comment (lib, “LibFbxSDK-MD.lib”) などの設定は次の所に書いている.
https://jml.mish.work/index.php/cpp/fbx-sdk-setting.html
高 DPI
先日の更新で,ツールバーのボタンが小さくなった?という報告を受けたので,ちょっとまとめてみた.
DPI 認識 | DPI 対応 | 「互換性」タブ |
なし | 非対応 | システム |
高い DPI 認識 | システム | |
モニターごとの高い DPI 認識 | モニターごと | アプリケーション |
上から,非対応,システム,モニターごとx2 .下から 2 つ目は,100% のディスプレイから移動したもの.
高 DPI デバイスでの Windows のスケーリングの問題
PROCESS_DPI_AWARENESS enumeration (shellscalingapi.h)
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\ShellScalingApi.h
いろいろ試したが,特にツールバーボタンの関係ではわからなかった.
2021/10/14
どうも,プライマリディスプレイの設定によりスケーリング動作が異なる?
125% にしたもの.
右下の 3 つのツールバーとダイアログの大きさなどがスケーリングされない.
それら以外の,メニューやステータスバーなどは正しくスケーリングされている様に見える.
VirtualBox の「スケールモード」で 80% 程度にしたもの.
exe のプロパティで「アプリケーション」としたもの.
ダイアログのフォントに固定サイズのものを使用しているので少し文字間隔が広くなってしまっている.
https://jml.mish.work/index.php/i-tools/setcolt.html
コンソール AP での色
以前に NAS に SSH 接続した環境で,文字色などの変更 をやった.
確か DOS 時代に少し使った記憶があるが,コンソール AP で使ってみたいと思い調べてのメモ.
先ず,コマンドプロンプトでの動作から.
echo ^G
‘^G’ の入力は,「Ctrl」+「G」.
「Enter」すると,ブザー(BEL)が鳴る.
今度は,次の様なバイナリデータのファイルを用意しての表示.
それを type で表示する(Linux 環境などでは cat ).
echo を使っての ‘ESC [‘ 入力がわからなかったが,いろいろ試すと「Ctrl」+「[」で入った.
echo ^[[103m
echo ^[[30m
最初わからなかったが,Linux 環境などでは
echo -e “\x1b[103m”
BEL の所に書いてあった.
以前試した時もそうだったと思うが,コマンドプロンプトでそのまま実行してもうまく機能しない.
またその頃はまだメインの開発機は Win7 だったこともありそれ以上は試していなかった.
一度ファイルにリダイレクトして type すると意図した動作になる.
「Windows ESC CSI」で検索すると次の所が見つかる.
コンソールの仮想ターミナル シーケンス
ここを見ると ::SetConsoleMode で ENABLE_VIRTUAL_TERMINAL_PROCESSING を指定するとある.
それで次の様なコードで試すとうまくいった.
#ifdef _WIN32
#ifdef ENABLE_PROCESSED_OUTPUT
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
#endif
#endif
#endif
// ...
{
// ...
can_CSI = true ;
#ifdef _WIN32
BOOL can_ESC = FALSE ;
#ifdef ENABLE_PROCESSED_OUTPUT
HANDLE hout = ::GetStdHandle(STD_OUTPUT_HANDLE) ;
DWORD mode = 0 ;
::GetConsoleMode(hout,&mode) ;
mode|= ENABLE_VIRTUAL_TERMINAL_PROCESSING ;
can_ESC = ::SetConsoleMode(hout, mode) ;
#endif
can_CSI = (can_ESC == TRUE) ;
#endif
if (change_bg) {
if (can_CSI) {
std::terr << _T("\x1b[107m") ;
std::terr << _T("\x1b[30m") ;
std::terr << _T("\x1b[0J") ;
// std::terr << _T("\x1b[;H") ;
}
}
// ...
}
CSI.hxx
ちょっとうまくない部分もある?が,何とか.
python だと
from ctypes import windll , wintypes , byref
kernel = windll.kernel32
hout = kernel.GetStdHandle(-11)
mode = wintypes.DWORD()
kernel.GetConsoleMode(hout,byref(mode))
mode.value |= 4
kernel.SetConsoleMode(hout,mode)
print ('\033[96m')
参考にさせてもらったところ.
第3章5 エスケープシーケンスで文字の色、背景の色を変更
2023/03/24
次の様に利用できる.
#include <iostream>
#include "CSI.hxx"
#include "tstring.hxx"
int _tmain (int argc,TCHAR* argv[])
{
CSI csi ;
{
tstring buf ;
buf.resize(1000) ;
std::terr << _T("wait...") ;
std::tin.getline(&buf[0],std::streamsize(buf.size())) ;
}
return 0 ;
}
CCmdUI::SetText
以前,VC 11 以降で メニューのテキストがうまく更新できない 現象があった.
この時,オーナードローを使っている所は解決した(個人的なコードのバグだった).
が,普通のサブメニューの方はうまくないままとなっていて,それを今回改めて調べてみた.
デバッガで追いかけると,CcmdUI::SetText は呼ばれている.
MFC のコードを見ると,ModifyMenu と SetMenuItemInfo の違いがある.
サブメニューの場合にうまくないのかと思い,単体テスト用のコードを書いてみたが,再現できない.
void CM_textView::OnUpdateMenuItem(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
CString now = CTime::GetCurrentTime().Format(_T("%H:%M:%S")) ;
pCmdUI->SetText(now) ;
}
void CM_textView::OnMenuItem(UINT nID)
{
// TODO: Add your command handler code here
}
何か他の条件があるみたい.
CMenu::TrackPopupMenu で表示するメニューではうまく更新されている.
メニューバーの項目としてコマンドを割り当て,そこから TrackPopupMenu を呼出すことで対応.
DSM 7 と WordPress , Joomla!
2021/07 に Synology NAS の DSM を更新 .
WordPress は動作しているが Joomla! はうまくないまま.
今日 Maria DB と WordPress ,Joomla! の更新版があったので更新した.
前回と同様 でうまく開かない.
WordPress のインストールされたところをみると .htaccess が存在しない.
以前バックアップしたものをコピー.
これで WordPress はうまく動作する様になった.
Joomla! の方は相変わらず.
2022/02
Joomla! は …/joomla/index.php/… の形式であれば問題ない.
そのため,直接参照している所に index.php/ を付加することで対応した.
VC リリースビルドのデバッグ
先日の VC 6 でのリリースビルドでうまくなかった現象 .
これをデバッグするための設定.
以前から何度か使っているが,今回コンパイル時の設定部分が何故かすぐにわからなかったのでメモ.
同様に,リンクの設定でも「Generate debug info」のチェックが必要.
方法: リリース ビルドをデバッグする
VS 6 RTM bug … ?
Win10 環境に入れた VC 6 でビルドした exe をテストしていると…
「何か修正を間違えた?」と思い,幾つかの exe で実行するとうまくいく.
VC 14 などでビルドしたものや,VC 6 デバッグビルドのものは OK .
2021/06 頃からの VC 6 リリースビルドのものがうまくなさそう.
WinXP 環境の VC 6 でビルドしたものも OK .
Win10 に入れた VS 6 が英語版だったので,SP はまだ入れていない.
2021/08/17
VC 6 RTM で作成される exe がうまくないものと思われる.
2021/08/18
次の様なコードでテストすると ::GonsA_Triangulation で長方形の片方が消えてしまう.
GonsA gnsa = ::To_GonsA(_3d_file) ;
gnsa = ::GonsA_Triangulation(gnsa) ;
::GonsA_Toix3(gnsa,(out_name+_T(".ix3")).c_str()) ;
::GonsA_ToOBJ(gnsa,(out_name+_T(".imo")).c_str()) ;
::GonsA_ToWRL(gnsa,(out_name+_T(".wrl")).c_str()) ;
その後いろいろとデバッガでやってみたが,その中は限定できなかった.
最適化の「実行速度」以外では,現象は発生しない.
結局 SP 6 をインストールすることに…
が,インストールできない.
対応方法がわからないので,仮想マシンの Win10 Pro x64 にインストールしてみるとうまくいった.
ちょっと面倒(ビルド時間がかかるなど)だが,動かないよりは良いので併用か?
2021/08/19
仮想マシンの VC 6 のデバッグ.
一度ブレークさせると,その後ステップ実行できない.
---------------------------
Microsoft Visual C++
---------------------------
Unhandled exception in GLSm.exe (OLE32.DLL): 0xC0000005: Access Violation.
---------------------------
OK
---------------------------
JavaScript module Three.js
前回 Three.js の バージョンを更新 した時に気づいていたがそのままになっていたので少し調べてみた.
きっかけは,今まで r109 だったものを r131 にしようかと …
three.module.js は r83 ぐらい? example が module 対応になったのは r105 の頃か?
r105 と r106 の ./example/js/loaders/OBJLoader.js の内容は同じ.
./webgl_loader_obj_mtl.html は import 部分と THREE が異なる.JavaScript のコードとしては同じ?
次の所を参考に,いろいろと…
JavaScript モジュール
そこにある basic-modules を,import でない方法で書き直し.
main.js を html 内の body に取り込み.
最初,間違って head 内に書いたら create でエラー(document.body が null).
また,canvas.js 内に export が存在するとうまくいかず,js をコピーして,その行をコメントに.
それを import を使用した方法に.
main.js を直接 body 内に記述したもの.
*.js をどちらの場合も同じものとしたいが,方法は?
2021/06/06
Three.js で,同じ OBJLoader.js を使っているのかと思ったが,違った.
example/js/OBJLoader.js と example/jsm/OBJLoader.js が存在している.
ある程度 module を使うための変更内容がわかったので,既存のデータを変更してみた.
データはいつもの.http://mish.work/i_Tools/Doc/blog/3D_Data/Cube_2021_07.htm
r109 を利用している.それを r131 に変更.
c_3js_10.js の先頭に次のもの追加.
import * as THREE from '/_lib/js/webgl/threejs/r131/build/three.module.js';
import { OrbitControls } from '/_lib/js/webgl/threejs/r131/examples/jsm/controls/OrbitControls.js';
import { MTLLoader } from '/_lib/js/webgl/threejs/r131/examples/jsm/loaders/MTLLoader.js';
import { OBJLoader } from '/_lib/js/webgl/threejs/r131/examples/jsm/loaders/OBJLoader.js';
最後に以下を追加.
export { ThreeStart10 } ;
export { ThreeStartF } ;
html を type="module" と import …/c_3js_10.js に.
<script type="module">
import { ThreeStart10 } from "./c_3js_10.js" ;
Uncaught TypeError: THREE.OrbitControls is not a constructor
Set_orbit http://mish.work/i_Tools/Doc/blog/3D_Data/c_3js_10.js:137
ThreeStart10 http://mish.work/i_Tools/Doc/blog/3D_Data/c_3js_10.js:47
<anonymous> http://mish.work/i_Tools/Doc/blog/3D_Data/Cube_2021_08.htm:42
OrbitControls などクラスの利用部分が違う.THREE. の部分を削除.
表示されている QR コードは,以前 WebGL が動作しない環境の時の区別のためのもの.
これはうまく使えないみたいなので,その部分は削除.他に “use strict”; なども削除.
html の script の部分で type="module" が指定されていないと,
Uncaught SyntaxError: import declarations may only appear at top level of a module Cube_2021_08_E2.htm:19:3
コンソール AP で SetRegistryKey …
以前一度やっているが…
https://dev.mish.work/wordpress/2015/01/28/console-ap-reg-read/
class CMy_App : public CWinApp {
public:
void SetRegistryKey_ (LPCTSTR key) { SetRegistryKey(key) ; }
} ;
//CWinApp theApp ;
CMy_App theApp ;
int _tmain (int argc,TCHAR* argv[])
{
_tsetlocale(LC_ALL,_T("")) ;
::reg_argv(argc,argv) ;
{
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) {
std::terr << _T("Fatal Error: MFC initialization failed") << std::endl ;
}
theApp.SetRegistryKey_(Profile::GetRegKey_Base()) ; // レジストリを使用する
}
if (argc > 1) {
for (int index=1 ; index<argc ; index++) {
tstring fold = argv[index] ;
::test(fold) ;
}
}
else {
tstring def_path = LPCTSTR(::PC_get_current_page()) ;
tstring fold = def_path ;
while(true) {
fold = ::ask_folder(fold.c_str()) ;
if (fold.empty()) { break ; }
::test(fold) ;
}
}
return 0 ;
}
QR コード生成 – 3
今まで幾つかの所でサイトのアドレスの表示に使用してきた.
QRcode Perl CGI & PHP scripts ver. 0.50
これを他で使えないかと調べていると…
- 引数がうまく渡せない.2 つ目以降が無視されているような感じ.
- 100 文字位を超えると正しく表示できない.
どうも php の呼び出し方が悪かったみたいで,…/qr_img.php に与える引数を変更.
{
p_data = p_data.substr(0,106) ;
var last_p = p_data.lastIndexOf('&') ;
if (last_p > 0) {
p_data = p_data.substr(0,last_p) ;
}
s_data = p_data ;
p_data = escape (p_data) ;
p_data = "?d=" + p_data ;
// p_data = p_data + "&e=M" ;
}
使い方は以前と同様で .js のパスを変更.
<script src ="//itl.mydns.jp/_lib/js/i_lib/2022.01/c_qr_img.js"> </script>
<script> call_qr_img_href() ; </script>
XSS , OS Command Injection , …
2004/05 に VBScript で作成したサイト .
その後何度か修正している.2005,2006,2007,2008,2010/01,2011/07,2015/03,2020/02,2020/06 .
幾つかの対応が必要なことは見つけたが,他のチェック内容がないかと思い見つけたサイト.
XSS フィルター回避チートシート
この中で明らかに引っかかったもの.
<SCRIPT SRC=http://ha.ckers.org/xss.js></SCRIPT>
表示されなくなった.
<IMG “””><SCRIPT>alert(“XSS”)</SCRIPT>”>
LAN 内で,過去のものもテストできる様に設定.
- ASP のあるフォルダ以下をコピー.
- Web サイトの追加.ポートはテスト用に 2015 など.ここまでで,//localhost:2015/ で表示はできる.
- ブラウザでエラーを表示するように設定.
- 32 ビットアプリケーションの有効化.
- LAN 内から表示できる様にする には,「Windows Definder ファイアウォール」の設定が必要.