Author Archives: admin

「このフォルダーを変更するには、SYSTEM からアクセス許可を得る必要があります。」と表示されて削除できない

このフォルダーを変更するには、SYSTEM からアクセス許可を得る必要があります。

Windowsでそのままやる方法

  1. 消したいフォルダのプロパティを表示しセキュリティの「詳細設定」をクリック。
  2. 所有者をEveryoneにする。
  3. 「サブコンテナーとオブジェクトの所有者を置き換える」をチェックし「適用」クリック
  4. いったん全部閉じる。
  5. セキュリティの詳細で、継承を無効化し、「子オブジェクトのアクセス許可を・・・」をチェックし「適用」をクリック
  6. ユーザにEveryoneがいない場合は追加する。
  7. いったん全部閉じて、プロパティの編集をクリックし、Everyoneにフルコントロールを与える。
  8. セキュリティの詳細で、「子オブジェクトのアクセス許可を・・・」をチェックし「適用」をクリック

これで削除できる。

cygwinを使う

  1. 管理者でコマンドプロンプトを起動する。
  2. c:\cygwin\cygwin.batを起動してcygwinを起動する。
  3. /cygdrive/以下がドライブなので消すフォルダに移動。
  4. rm -rfv kesufolder/ で消す。

 

Qtのqmakeのtutorialで QPushButton: No such file or directory

hello.proの最初に以下の行を足す

qmakeからやり直す

できた。
nmakeがない場合はmingw32-makeでできる。

qmake hello world

gflagsをWindowsで使う

gflagsはコマンドラインオプションをパースして。くれるものらしい。
これをVisual Studioで使いたい。
gflags-2.1.1.zipを展開して調べるとcmakeを使ってmakeしなければならないらしいのでcmakeをダウンロード
ここではインストールなしでやりたいので、binaryのzip版cmake-3.1.0-win32-x86.zipをダウンロードした。

まずスタートメニューから「Visual Studio コマンド プロンプト (2010)」を実行する。
gflagsを展開したフォルダで以下を実行

ここではVisual Studio 2010 Expressで成功したがVC6やVC8ではうまくいかなかった。
いずれにしてもこれでincludeフォルダやgflags.slnが作られた。

gflags.slnを開いてビルドすればライブラリができる。
ここで飽きた

バッチファイルでOSが32か64か区別する

環境変数PROGRAMFILES(X86)があるかどうかで区別した。環境変数なので勝手に設定されることもあるがスルー。
PROCESSOR_ARCHITECTUREはプロセスが32か64かで値がことなるのでOSの判定には使えないと思われる。

バッチのプロセスが32か64かを知りたい場合は以下

参考URL
http://stackoverflow.com/questions/12322308/batch-file-to-check-64bit-or-32bit-os

MSコンパイラのバージョンと_MSC_VERマクロ

clを実行してVersionを見ることで_MSC_VERがどう展開されるか確認できる。

VC6の場合は_MSC_VER=1200になる。
VC2005の場合は1400
VC2008の場合は1500
VC2010の場合は1600

desktop.iniでフォルダーのアイコンを変える

フォルダーの属性をシステムにする。コマンドプロンプトで以下を実行

フォルダーの中にdesktop.iniをつくり以下を記述する

IconFileは.icoのアイコンファイルを記述してもいい。
exeやdllの中に埋め込まれているアイコンを使うにはResEditなどを使ってアイコンのインデックスを調べ、IconIndexで指定する。

ConfirmFileOp=0にすると削除の際警告を出さない。

AppLocaleをWindows8.1にインストール

AppLocateは非ユニコードアプリのキャラセットをそのアプリに合わせて起動できるツール。アプリとOSのキャラセットが違うとメニューやダイアログの文字列が化ける。

普通にインストールしようとするとエラーになるので、apploc.mscを右クリックしてプロパティを表示して以下のように「以前のWindowsを使う」をチェックしてから実行する。

AppLocaleのプロパティ

ちなみにOSの設定は以下のところで変えられる。
OSのチャラセット設定

.netアプリ、読み込むCRLのバージョン決定方法

1、.configファイルがあればそれに記述されているバージョンを読み込む。なければエラー

2、.exeがビルドされたとき参照されたバージョンのCLRを探す、あればそれをつかう。

3、なければレジストリHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\policy\Upgradesをみる、ここにはバージョンの範囲が示されていて、2で見つけたバージョンがこの範囲に入っていればこの範囲の最上のバージョンをつかう。