The February 2003 Platform SDK
これがVC6最後のSDK?
IEをデフォルトのブラウザにしてsetup.exeを起動する。
Listviewのテキストコールバックとオーナーデータの違い
テキストコールバック
InsertItemでテキストにLPSTR_TEXTCALLBACKを指定する。LVN_GETDISPINFOが飛んでくるのでここでテキストをセットする。データは構造体などで持ってListViewのLParamに設定しておくのがいいと思われる。テキストと同様にアイコンもI_IMAGECALLBACKを指定することにより同じようにできる。
オーナーデータ
ListViewの作成時にLVS_OWNERDATAを指定する。InsertItemは使わず、データは並びも含めてアプリが持つ。アプリがセットするのはSetItemCountExによるアイテムの個数だけで、これをやるとLVN_GETDISPINFOが飛んでくるのでここで表示データをセットする。
どちらもLVN_GETDISPINFOが来たときはポインタだけ設定すればいいはずでListViewはコピーを持たない。pszTextはコンストでないがこれは取得用もかねているためでコンストキャストしていいはず。
MSVCR110.dllやMSVCR120.dllが見つからない
ランタイムをインストール
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はアプリに合わせる。両方インストールしてもいい
KB3035583 Windows10へのアップグレード機能を削除
Firefoxのタスクバーアイコンが2つでる
キーHKEY_CURRENT_USER\SOFTWARE\Mozilla\Firefox\TaskBarIDsを削除したら直った。このキーはFirefoxが作ったものなので消しても平気だろう。
またはsetappidを使ってショートカットのAppIDを変える。
bashで忙しいJOBを一時停止した後にreniceしてゆっくりやる
bashではreniceでjob番号を指定できないと思う。
重たいジョブを起動
1 |
$ sleep 100 & |
jobsでジョブ一覧を見る。
1 2 3 4 |
$ jobs -l [1]- 6747 Stopped vi [2]+ 6766 Stopped vi [3] 7340 Running sleep 100 & |
reniceでプロセスの優先度を落とす
1 2 |
$ renice -n 20 7340 $ 7340 (process ID) old priority 0, new priority 19 |
nice値の確認
1 2 3 |
$ ps -eo pid,nice|grep 7340 7340 19 $ |
ioniceの現在の値と再設定(もっとも遅く)
1 2 3 4 5 6 |
$ ionice -p 6747 unknown: prio 0 $ ionice -c 3 -p 6747 $ ionice -p 6747 idle $ |
mount: could not find any free loop device
Ubuntuでmount: could not find any free loop deviceと表示されてループバックデバイスのマウンドができない。
環境表示:
1 2 3 4 5 6 7 8 |
$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS" $ uname -a Linux inpsrv 3.2.0-56-generic #86-Ubuntu SMP Wed Oct 23 17:31:43 UTC 2013 i686 athlon i386 GNU/Linux $ |
OS起動時のオプションで最大ループデバイスを指定する。
/etc/default/grubを編集しGRUB_CMDLINE_LINUX_DEFAULTへmax_loop=64を追加する。
1 |
GRUB_CMDLINE_LINUX_DEFAULT="max_loop=64" |
update-grubを実行してブートレコードに書き込む(と思われる)
リブートする。
できたか確認
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
$ ls /dev/loop* /dev/loop0 /dev/loop20 /dev/loop32 /dev/loop44 /dev/loop56 /dev/loop1 /dev/loop21 /dev/loop33 /dev/loop45 /dev/loop57 /dev/loop10 /dev/loop22 /dev/loop34 /dev/loop46 /dev/loop58 /dev/loop11 /dev/loop23 /dev/loop35 /dev/loop47 /dev/loop59 /dev/loop12 /dev/loop24 /dev/loop36 /dev/loop48 /dev/loop6 /dev/loop13 /dev/loop25 /dev/loop37 /dev/loop49 /dev/loop60 /dev/loop14 /dev/loop26 /dev/loop38 /dev/loop5 /dev/loop61 /dev/loop15 /dev/loop27 /dev/loop39 /dev/loop50 /dev/loop62 /dev/loop16 /dev/loop28 /dev/loop4 /dev/loop51 /dev/loop63 /dev/loop17 /dev/loop29 /dev/loop40 /dev/loop52 /dev/loop7 /dev/loop18 /dev/loop3 /dev/loop41 /dev/loop53 /dev/loop8 /dev/loop19 /dev/loop30 /dev/loop42 /dev/loop54 /dev/loop9 /dev/loop2 /dev/loop31 /dev/loop43 /dev/loop55 /dev/loop-control $ |
Windows7でユーザ専用のアプリを置く場所
Could not load file or assembly ‘Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’
Could not load file or assembly ‘Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. 指定されたファイルが見つかりません。
C#でhtmlDocumentとかを使うとき、Microsoft.mshtmlを参照してそれを開発環境外のPCで実行すると出る。開発環境には独自のものがあって一般環境にはないためにおこると思われる。
対策は参照のLocalCopy属性をTrueにしてこのファイルごと配布する。