たまに古いプログラムなどがスレッドを使っていてCPU1個だと動くけど2個になるとフリーズしたりする場合がある。CPU1個で動かせばうごく。
startコマンドでできる
1 |
start "" /AFFINITY 1 notepad.exe |
確認はタスクマネージャのaffinityでできる。
たまに古いプログラムなどがスレッドを使っていてCPU1個だと動くけど2個になるとフリーズしたりする場合がある。CPU1個で動かせばうごく。
startコマンドでできる
1 |
start "" /AFFINITY 1 notepad.exe |
確認はタスクマネージャのaffinityでできる。
1 2 3 4 5 6 |
ShellExecute(hwnd, NULL, _T("explorer.exe"), CString(_T("/select,\"")) + path + _T("\",/n"), NULL, SW_SHOW); |
1 2 3 |
string path = @"C:\T\111.txt"; string arg = "/select,\"" + path + "\",/n"; System.Diagnostics.Process.Start("explorer.exe", arg); |
プロジェクトを新しいVSで開いたときに出る。
リンクしているライブラリが古いものを見ていると出る。
これがVC6最後のSDK?
IEをデフォルトのブラウザにしてsetup.exeを起動する。
InsertItemでテキストにLPSTR_TEXTCALLBACKを指定する。LVN_GETDISPINFOが飛んでくるのでここでテキストをセットする。データは構造体などで持ってListViewのLParamに設定しておくのがいいと思われる。テキストと同様にアイコンもI_IMAGECALLBACKを指定することにより同じようにできる。
ListViewの作成時にLVS_OWNERDATAを指定する。InsertItemは使わず、データは並びも含めてアプリが持つ。アプリがセットするのはSetItemCountExによるアイテムの個数だけで、これをやるとLVN_GETDISPINFOが飛んでくるのでここで表示データをセットする。
どちらもLVN_GETDISPINFOが来たときはポインタだけ設定すればいいはずでListViewはコピーを持たない。pszTextはコンストでないがこれは取得用もかねているためでコンストキャストしていいはず。
ランタイムをインストール
MSVCR110.dll
https://www.microsoft.com/en-us/download/details.aspx?id=30679
MSVCR120.dll
https://www.microsoft.com/ja-JP/download/details.aspx?id=40784
x86,x64はアプリに合わせる。両方インストールしてもいい
キーHKEY_CURRENT_USER\SOFTWARE\Mozilla\Firefox\TaskBarIDsを削除したら直った。このキーはFirefoxが作ったものなので消しても平気だろう。
またはsetappidを使ってショートカットのAppIDを変える。