ホーム » Windows (ページ 11)
「Windows」カテゴリーアーカイブ
球が作成できない
背景画像のアップロードで,球を生成してそれに貼り付ける.
コード自体はそれほど難しくないので,1 日位でできると思ってた.
Windows のコンソール AP で,次の様なコードを書いてテスト.
MakeBG.cpp
make_bg.hxx
#include "MessBar.hxx" #include "i_Trace.hxx" #include "gonsprm2.hxx" #include "Htm_thrj.hxx" //******************************************************************************* // make bg files imo and html // Create : 2018/04/19 //******************************************************************************* inline bool MakeBG (c_tstring& dibPath) { tstring ext = ::Path_GetExtLow(dibPath) ; if (ext == _T("bmp")) { ; } else if (ext == _T("jpg")) { ; } else if (ext == _T("png")) { ; } else { return false ; } { tstring imoPath = ::Path_ChangeExt(dibPath,_T(".imo")) ; tstring htmName = ::Path_ChangeExt(dibPath,_T(".html")) ; tstring dmpName = ::Path_ChangeExt(dibPath,_T(".ipl")) ; { long div = 90/5 ; v_Vd3A pntsAry = ::BuildSphere(div) ; { std::tout << pntsAry.size() << std::endl ; if (pntsAry.size() > 0) { Vd3A pnts = pntsAry[0] ; std::tout << pnts.size() << std::endl ; } tstring str = ::v_V3_To_tstring(pntsAry,_T(",")) ; { std::tout << str << std::endl ; } ::SaveText(dmpName.c_str(),str) ; } v_Vd2A txuvAry = ::SetTextureUV(pntsAry) ; pntsAry = ::V3_Scale (pntsAry,Vd3(20.)) ; Gons1 gons1 = ::Gons_BuildFace(pntsAry,txuvAry,dibPath.c_str()) ; GonsA ga ; ga.push_back(gons1) ; Ed3 es = ::GonsA_GetExtent(ga) ; { std::tout << imoPath << _T("\t") ; std::tout << ::V3_To_tstring(es.Volume()) << std::endl ; } if (es.Volume() != Vd3(0)) { es = Ed3(es.L*0.01,es.G*0.01) ; ::GonsA_ToOBJ(ga,imoPath.c_str()) ; ::HT_Make_three_js_html(imoPath.c_str(),es) ; } } } return true ; } //******************************************************************************* // Make BG // Create : 2018/04/19 //******************************************************************************* int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; { double s = sin(rad(30)) ; double c = cos(rad(30)) ; std::tout << ::To_tstring(rad(30)) << _T("\t") << ::To_tstring(s) << _T("\t") << ::To_tstring(c) << std::endl ; } if (argc > 1) { v_tstring argAry ; for (int index=1 ; index<argc ; index++) { tstring av = argv[index] ; ::MakeBG(av) ; } } else { tstring buf ; buf.resize(1000) ; { while (std::terr << _T("dib ? =") , std::tin.getline(&buf[0],buf.size())) { tstring str = buf.c_str() ; if (str == _T("q")) { break ; } else if (str == _T("Q")) { break ; } str = ::QuotM_Del_All(str) ; if (str.empty()) { continue ; } if (::File_IsNothing(str)) { continue ; } tstring dib_file = str ; ::MakeBG(dib_file) ; } } } return 0 ; } #include "MessBar.cxx"
今度は,DS116 でビルドして実行すると,
Iwao@DS116:/var/.../Test/up_bg/data$ ./a.out 0.523599 98314745853377985068733249901357667205561433229409406145971019710277043155206326909160297391588106447153156445277590513896008090831662627743743127151181611161993303763348552511914898438567008016612049817143085994563143448055356356529593034366351316506187159487365573007925410016860727208738652774465536.000000 98321247861193438769252981549279948821735544950351014769381393881588573259178110828643912278175146924986161470094082713103803921735703931192359519739047155548857037547932930737608178537416409042994283830606984599100883034181136178714087912736395732787698542049681305006129736011480288874859116047106048.000000 dib ? =
本当は,
C:\Users\Iwao\...\i_Tools.tmp>\\DevXP\C_Drive\Temp\DS11x\MakeBG\Release.060\MakeBG.exe 0.523599 0.500000 0.866025 dib ? =
cmath が使えない様で,検索すると「-lm でコンパイルが通る」と言うのは見つかる.
が,コンパイルの問題ではなく,実行でうまくない.
当然ではあるが,DS115j でも同様.
試しに,opkg update と opkg install gcc .
root@DS116:/var/…/Iwao# opkg update
Downloading http://pkg.entware.net/binaries/armv7/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/packages
root@DS116:/var/…/Iwao# opkg install gcc
Upgrading gcc on root from 6.3.0-1 to 6.3.0-1a…
Downloading http://pkg.entware.net/binaries/armv7/gcc_6.3.0-1a_armv7soft.ipk
Configuring gcc.
root@DS116:/var/…/Iwao#
もう一度,ビルドして実行すると,
Iwao@DS116:/var/…/Test/up_bg/data$ g++ MakeBG.cpp
Iwao@DS116:/var/…/Test/up_bg/data$ ./a.out
0.523599 0.500000 0.866025
dib ? =
予想以上に時間がかかってしまったが,何とか…
daikoku_edit.html
2019/02/13 リンクなどを修正
アップロード先のアクセス権
次の様な htm と php で,画像をアップできる所を用意.
up.htm
<!DOCTYPE html> <html lang="ja" > <head > <meta charset="UTF-8" /> </head> <body > <form action="http:./up.php" method="post" enctype="multipart/form-data"> <input type="file" name ="fname" accept=".jpg,.png"> <input type="submit" value="upload"> </form> </body> </html>
up.php
<?php $tempfile = $_FILES['fname']['tmp_name']; $fileName = './data/' . $_FILES['fname']['name'] ; $up_status = false ; if (is_uploaded_file($tempfile)) { $up_status = move_uploaded_file($tempfile , $fileName ) ; } $frm_src = './' ; if ($up_status) { $frm_src = $fileName ; } header("Location: {$frm_src}") ; ?>
これらのファイルとアップ先のフォルダを用意しただけでは,アクセス権がないのでアップロードできない.
以前は,DSM に入り「File Station」で「権限」を設定していた.
今まで面倒と思いつつ,試しに Windows 環境からアクセス権を「読み取り(RX)(RX)」から「変更」に.
File Station で設定したものと少し異なるが,それなりに動作してそう.
WinFile.exe
Google ニュースで,次の内容を見つけた.
Windows 3.x時代の“ファイルマネージャ”がオープンソース化で復活~Windows 10でも利用可能に
WinXP までは,1999/10/14 8:00:00 の WinFile.exe を使用している.
Win7 でも動作させるための方法があって,試したこともあるがうまく動作しなかった.
Windows File Manager revived
次の所から落として動作を確認してみた.
WinFile v10.0 – Sharing 10 years of improvements
Winfile_orig_plus.zip の方がオリジナルに近いのでやってみたが,設定情報が保存されないみたい.
Winfile_v10.0.zip は,「Properties」などが新しくなってしまっている.
2019/05 v10.0.1901.1 で内容を更新しています.
WinFile.exe v10.0.1901.1
MAPI の MapiFileDesc の配列
MFC を使用している方法では,
LateDelete ld ; // MultiByte の必要があるようなので,UNICODE の時のバッファをここに登録 // 添付ファイルの準備 CArray<MapiFileDesc,MapiFileDesc> fileDescA ; int fileCount = 0 ; int index = 0 ; for (index=0 ; index<PathNames.GetSize() ; index++) { CString pathName = PathNames[index] ; if (::FileIsNothing (pathName)) { continue ; } if (::FileIsDirectory(pathName)) { continue ; } MapiFileDesc fileDesc ; memset(&fileDesc,0,sizeof(MapiFileDesc)) ; fileDesc.nPosition = (ULONG)-1 ; #ifdef _UNICODE fileDesc.lpszPathName = SendMail__ChangeMultiByte(PathNames[index],&ld) ; fileDesc.lpszFileName = SendMail__ChangeMultiByte(FileNames[index],&ld) ; #else fileDesc.lpszPathName = LPSTR(LPCTSTR(PathNames[index])) ; fileDesc.lpszFileName = LPSTR(LPCTSTR(FileNames[index])) ; #endif fileDescA.Add(fileDesc) ; fileCount++ ; }
MFC を使用しないコードは,
std::vector<MapiFileDesc> fileDescA ; std::vector<std::string> pathNameA ; std::vector<std::string> fileNameA ; int index = 0 ; { for (index=0 ; index<PathNames.GetSize() ; index++) { { tstring pathName = PathNames[index] ; if (::File_IsNothing (pathName)) { continue ; } if (::File_IsDirectory(pathName)) { continue ; } } std::string pathName= ::To__string(PathNames[index]) ; std::string fileName= ::To__string(FileNames[index]) ; pathNameA.push_back(pathName) ; fileNameA.push_back(fileName) ; } { for (size_t index=0 ; index<pathNameA.size()&&index<fileNameA.size() ; index++) { MapiFileDesc fileDesc ; memset(&fileDesc,0,sizeof(MapiFileDesc)) ; fileDesc.nPosition = (ULONG)-1 ; fileDesc.lpszPathName = &(pathNameA[index])[0] ; fileDesc.lpszFileName = &(fileNameA[index])[0] ; fileDescA.push_back(fileDesc) ; } } }
詳しくは見てないが,幾つかの方法が書かれていたので
Sending Email with MAPI
MapiRecipDesc.lpszAddress の “smtp:”
以前コードを直したのが 2002/4 であまり情報がなかった様に思う.
個人的に書いた内容が「Outlook で配信不能になる」
参考になりそうな所
Email mit Dateien perWinAPI versenden??
MAPISendMail
MSDN MapiRecipDesc structure
Sending email using MAPI causes error on ‘ResolveName’ function in Window7
MAPI を使用した複数ファイルの送信
S_Mail.hxx
Win10 1709 その後
内臓のディスク容量が少ないので,「ジャンクション」を利用して D にしていた.
C:\Users\Public\Documents>dir /a ドライブ C のボリューム ラベルは OS です ボリューム シリアル番号は 9899-964A です C:\Users\Public\Documents のディレクトリ 2018/01/21 13:56 <DIR> . 2018/01/21 13:56 <DIR> .. 2016/02/11 01:29 <JUNCTION> Asus [C:\Public\Document\Asus] 2017/09/29 20:52 278 desktop.ini 2016/02/11 01:49 <JUNCTION> Dropbox [C:\Public\Document\Dropbox] 2016/12/22 11:01 <DIR> images 2016/02/11 01:27 <JUNCTION> M... [C:\Public\Document\M...] 2016/02/11 01:16 <JUNCTION> M... [C:\Public\Document\M...] 2015/07/10 18:55 <JUNCTION> My Music [C:\Users\Public\Music] 2015/07/10 18:55 <JUNCTION> My Pictures [C:\Users\Public\Pictures] 2015/07/10 18:55 <JUNCTION> My Videos [C:\Users\Public\Videos] 2018/01/21 14:20 <DIR> Temp 2016/02/11 01:26 <JUNCTION> Tools [C:\Public\Document\Tools] 2016/02/20 16:28 0 VC_Path.BAK 2016/02/20 16:31 2,563 VC_Path.txt 2016/12/21 23:45 168 web.config 2017/02/17 22:12 <DIR> w_Conf 4 個のファイル 3,009 バイト 13 個のディレクトリ 3,028,328,448 バイトの空き領域
* 一部ディレクトリ名などは編集済み.
JUNCTION という情報は残っているようではあるが,D ドライブを正しく指していない.
確か,1607 でも一部(%Temp% 直下のジャンクション)がうまく引き継がれなかった.
ここが引き継げないのはわからなくもないが,Public\Documents 以下は何とかできないものか?
WSR-300HP 追加
先日,WLI-UC-AG300N を追加し「ワイヤレス ルーター」として設定したが,
ちょっと不安定なのと,そこからは外を覗かない様にしたかったのであまり使えないでいた.
どちらかと言うと,独立した AP として利用していた感じ.
「ホテルルーター」が良いかとも思ったが,発熱の問題や,長時間だと不安定になることがあるなどとあった.
いろいろ考え,やはり独立した「ルーター」が良さそうと思い量販店へ.
「安価なルーター」で「Wi-Fi や GIGA ビットはあればなお良い」と言うことで探してもらった.
それですすめてもらったのが WSR-300HP .価格的にも予定範囲内.
接続などは特に困ることもなく LAN 内は独立して意図した動作となった.
が,T5400 で「インターネット」接続が不安定なことは残っていた(前回あまり調べてなかった).
どうも「デフォルトゲートウェイ」の設定がよくなかったみたいで,追加した側の IP を固定に.
2017/07/11
固定 IP にすることだと,本来 DHCP サーバを使いたかったのでこのルーターを追加する意味が半減する.
さらに調べてみると,
Windows 7 でネットワーク接続の優先順位を変更する方法
B65/R 追加
dynabook B65/R 追加.
はじめに.pdf にある通り,次の作業.
リカバリーメディアの作成.
PC 引越ナビ.
Win 10 のメディアは付属していたが,Win 7 が入っている状態.
セットアップで 32 / 64 ビットの選択があり,
メモリが 4 G なので 32 を選択.
DVD-ROM ドライブのため,BRD-UT16WX を接続して作成.
DVR-R 4.7G メディアは 4 枚で,作成時間は 1 時間程度.
よく知らなかったが,
DVD-ROM ドライブでも DVD-R のメディアは読めるみたい.
旧 PC は TXE/68HE で,USB メモリと LAN ケーブルを使う方法で.
USB メモリは空きが 50 MB 程度のものを利用.
LAN は旧 PC の制限で 100 M bps みたい.
転送されたデータは 100 G 程度で,6 時間位かかった.
その後 Web に接続して,MSSE をインストール.
高 DPI
高 DPI についての情報
MSDN 高 DPI アプリケーションの記述方法
MSDN ユーザー インターフェイス: 高 DPI 対応
blogs.msdn アプリの高 DPI 対応について
PDC 2008 高 DPI 対応の Win32 アプリケーションを記述する
MSDN magazine Windows 8.1 用の高 DPI アプリケーションを作成する
Win 10 10586 3D Builder
3MF 形式ではいたデータが,10586 にしてから開けないでいた.エラー : 0x80004005
model タグに,xmlns 属性が必要になった?
<model unit= "millimeter " xmlns="http://schemas.microsoft.com/3dmanufacturing/core/2015/02 " >
ply だと,
3MF でのテクスチャは未だ.
2016/05/02 テクスチャなどの大文字,小文字も区別される?また,path も / から正しく指定する必要がある.
テクスチャの場合,colorid の指定が object の属性では効果がなくなった?
triangle 内での指定が必要?
Win 10 10586
ドロップダウン付のツールバーで,ボタンが切れる現象は直った?
VS 2005 で作成した「Web セットアップ プロジェクト」のインストールはまだできない?
2015/12/10
ドロップダウン付のツールバーのサイズが正しくない現象が XP でも発生.
初期の Win 10 で現象が発生しやすかったことは確かだが,もっと他にも条件がありそう.
MFC 8 やフラットかどうかなど.
XP で発生した時,MFC 6 の exe は問題なかった.
いつも使用している環境では,フラットにしていないことが多い.
Shell Extension のデバッグ
Shell Extension で,縮小版の背景に GDI+ を使用して,どうも動作が安定しなくなった.
現象としては,環境によるが explorer.exe が「応答なし」に.
GDI+ の GdiplusShutdown の呼び方が悪かったみたいで,DllCanUnloadNow で終わらせる様にした.
また,今回デバッグ用にダンプする様にしていて,そのファイルをエクスプローラで選択しようとするとフリーズ.
これは,デフォルトでは出力しないことで回避.
今回これらをやっていて,以前から面倒と思っていた ShellExt.dll のデバッグ.
デバッグ版.dll が呼ばれる様に設定して,普通の exe で「開く」ダイアログで dll 内をデバッグできる.
フォルダ以下の同期
先日追加した WD Cloud にソースなどをバックアップしたいと思い探していたら,robocopy.exe を見つけた.
まだ,単純にバックアップをとっているだけ.
robocopy \\DevXP\C_Drive\Temp\ \\WDCloud\Backup\Develop\DevXP\Temp\ /mir
UNICODE のフォルダやファイル名も,コピー中の表示は ‘?’ となるが問題なさそう.
GUI 版の RichCopy があるみたいだが,こっちはまだ未確認.
FTP もいける?
うまく起動しない…
「知人から譲り受けた Win 7 のノート PC の起動が遅い」と言うことで調べてみると,
確かに,起動時のロゴが出て HDD のランプが点きっぱなし,1 時間程そのままにしておいたら起動していた.
怪しいのは HDD .
イベントビューアで確認しようとしたが,起動はするがデータが開けない.
ChkDsk で修復すると,
起動は通常の時間になったと思うが,動作が安定しない.
リカバリメディアの作成
PCG-71712N で実際必要だったメディア数は DVD で 5 枚,DL で 2 枚となっていた.
VPCCB38FJ が正しいモデル名?
ずっと PC についてはいなかったが,それぞれ 20 ~ 30 分程度.
4 枚目が少しかかっていたように思う.HDD の不良セクタの影響?
先ず,リカバリ領域からのリカバリ.2 時間程度.
ちょっと拝借,AP をインストールして今日ビルドした exe をテスト.
今度はリカバリメディアの DVD から
読込?に 1 時間程度(ディスク 5 枚).
さらに 2 時間弱.
Window Update で,170 個程を 6 時間位.
VC 10 でビルドした exe を XP で…
以前から VC10 以降でビルドした exe が Win XP 環境で起動できてなかった(ビルド環境の Win 7 では OK).
—————————
M—.exe – エントリ ポイントが見つかりません
—————————
プロシージャ エントリ ポイント K32GetProcessMemoryInfo がダイナミック リンク ライブラリ KERNEL32.dll から見つかりませんでした。
—————————
OK
—————————
日本語化された GetProcessMemoryInfo には書かれてないが,
こちら (GetProcessMemoryInfo function) には,Win 7 以降変わっているような記述がある.
対応としては App.h(アプリケーションクラスのヘッダファイル)に以下を追加した.
#ifndef PSAPI_VERSION
#define PSAPI_VERSION 1
#pragma comment (lib, “PSAPI.Lib”)
#else
#pragma message (“defined PSAPI_VERSION *************”)
#endif