ホーム

MoonWing

サクラエディタの更新ツールでv2系をチェックするように設定

「サクラエディタ」も内部文字コードをUnicodeにしたv2系が正式にリリースされました。
それに伴い、インストール支援ツール「SakuraDown」でもv2系をチェックできるように設定を変更してみたのでメモ。

ダウンロード先などを記述している「DownInfo.ini」のセクション[EDITOR]のところを下記のように編集する。

[EDITOR]
;ReleaseURI=http://sourceforge.net/api/file/index/project-id/12488/rss?path=%2Fsakura
ReleaseURI=http://sourceforge.net/api/file/index/project-id/12488/rss?path=%2Fsakura2
;FileRegExp=\d\.\d\.\d\.\d/sakura_[^\/\?<>=]+\.zip
FileRegExp=\d\.\d\.\d\.\d/sakura2[^\/\?<>=]+\.zip
ReleaseFindingPolicy=FROM_LAST
;DownloadURI=http://@MIRROR.dl.sourceforge.net/project/sakura-editor/sakura/@FILE
DownloadURI=http://@MIRROR.dl.sourceforge.net/project/sakura-editor/sakura2/@FILE
ReleaseType=SITE_SOURCEFORGE
;WildName=sakura_????-??-??*.zip
WildName=sakura2-*.zip

正規表現ライブラリもUnicode版を利用するように「DownInfo.ini」のセクション[BREGEXP]のところを下記のように編集する。

[BREGEXP]
ReleaseURI=http://homepage3.nifty.com/k-takata/mysoft/bregonig.html
;FileRegExp=bron[0-9]+\.zip
FileRegExp=bron2[0-9]+\.zip
DownloadURI=http://homepage3.nifty.com/k-takata/mysoft/@FILE
ReleaseType=SITE_NORMAL
WildName=bron???.zip;bron???.lzh

正しくないところがあると思うけれど、一応これで動いたので、暫定対応ってことで自己責任でお願いします。

[CGE]CGEffecterおにぎりv1.13

v1.13βの修正分はv1.14に繰り越して、ANSIの最終版として再度v1.12からv1.13を起こしました。
Win98(Not 98SE)で動作を確認したところPNGの保存時にメモリアクセスエラーを起こしていたので一応対応しました。

このバージョンでWin98,WinMe,Win2000のサポートは最後となります。
次のv1.14からは一応WinXp,WinVista,Win7を対象として作成しますので、少なくともWin98では起動できなくなります。
一応、配布ここで続けるつもりですが、Vectorで公開を続けるかは明言を避けさせてください。
(必要であればバックアップを行ってください。v1.13については再配布してもかまいません。)

Download(CGEffecter.zip)

v1.12からv1.13への更新内容は下記の通りです。

  • クリップボードへの格納形式をDIBからBitmapに変更
  • Win98上でPNG形式で保存時にメモリアクセスエラーが発生するのを回避

Dynabook C7にLubuntu 11.04をinstall

Lubuntu-Lxlauncher


前回Ubuntu Netbook Edition 10.10をインストールしたけれど、動作も重く使い勝手に問題が出ていたので変更。
Lubuntu はUbuntuベースのデスクトップをGnomeからLXDEに変更したもの。
一昔のPCで使うには軽量で定評のあるLXDEなうえに、ネットブックに仕えるLauncherも入っていて古めのPCなのにスタイリッシュな一味違うPCに変貌します。

Lxlauncherが自動起動しなかったので下記のようにファイルを用意して、再起動。
/home/<username>/.config/autostart/lxlauncher.desktop

[Desktop Entry]
Encoding=UTF-8
Name=Lxlauncher
Comment=LXDE launcher
Exec=/usr/bin/lxlauncher
Terminal=false
Type=Application
Icon=
Categories=Application;System;

[C#]アプリケーションのUAC対応

アプリケーション側で一般権限と管理者権限とで挙動を変えたい場合のメモ

  1. WindowsVista以降(UAC搭載OS)で起動されているか
    アプリケーションがWindowsVista以降で起動されているかどうかをOSのバージョン情報から判断する 

    using System;
    
    private bool IsUAC()
    {
        OperatingSystem osInfo = Environment.OSVersion;
        if (osInfo.Platform == PlatformID.Win32NT)
        {
            if (osInfo.Version.Major == 6)
            {
                if (osInfo.Version.Minor == 0)
                {
                    // Windows Vista, Windows Server 2008
                    return true;
                }
                else if (osInfo.Version.Minor == 1)
                {
                    // Windows 7, Windows Server 2008 R2
                    return true;
                }
            }
            else if (osInfo.Version.Major > 6)
            {
                // new Windows
                return true;
            }
        }
    
        return false;
    }
    
  2. アプリケーションが管理者権限で起動されているか
    アプリケーションが「管理者として実行…」されているとき 

    using System.Security.Principal;
    
    private bool IsAdministrator()
    {
        bool isAllowed = false;
    
        try
        {
            WindowsIdentity wi = WindowsIdentity.GetCurrent();
            WindowsPrincipal wp = new WindowsPrincipal(wi);
            isAllowed = wp.IsInRole(WindowsBuiltInRole.Administrator);
        }
        catch
        {
            isAllowed = false;
        }
    
        return isAllowed;
    }
    
  3. アプリケーションを起動したユーザーはAdministratorsグループに属しているか
    アプリケーションは一般権限で起動されていたとしても起動したユーザーが管理者に昇格可能かどうか知りたいとき 

    using System.DirectoryServices.AccountManagement;
    
    private bool IsAdministrators()
    {
        bool isAllowed = false;
    
        try
        {
            PrincipalContext pc = new PrincipalContext(ContextType.Machine, null);
            UserPrincipal up = UserPrincipal.Current;
            GroupPrincipal gp = GroupPrincipal.FindByIdentity(pc, "Administrators");
            if (up.IsMemberOf(gp))
            {
                isAllowed = true;
            }
        }
        catch
        {
            isAllowed = false;
        }
    
        return isAllowed;
    }
    

    上のコードだといくつかの環境でうまく動いていないっぽい?下のコードのほうが確実かも。

    using System.DirectoryServices.AccountManagement;
    
    private bool IsAdministrators()
    {
        bool isAllowed = false;
    
        try
        {
            PrincipalContext pc = new PrincipalContext(ContextType.Machine, null);
            UserPrincipal up = UserPrincipal.Current;
            foreach (GroupPrincipal gp in up.GetGroups())
            {
                try
                {
                    if (gp.Name.ToLower().Equals("Administrators".ToLower()))
                    {
                        isAllowed = true;
                    }
                }
                finally
                {
                    gp.Dispose();
                }
            }
        }
        catch
        {
            isAllowed = false;
        }
    
        return isAllowed;
    }
    
  4. アプリケーションを管理者権限で再起動する
    処理を行う際に管理権限が必要となった場合に自分自身を管理者権限で再起動する 

    using System;
    using System.Diagnostics;
    
    private void RestartApplication()
    {
        ProcessStartInfo psi = new ProcessStartInfo();
        psi.UseShellExecute = true;
        psi.WorkingDirectory = Environment.CurrentDirectory;
        psi.FileName = Application.ExecutablePath;
        psi.Verb = "runas";
    
        try
        {
            Process p = Process.Start(psi);
        }
        catch
        {
            return;
        }
    
        Application.Exit();
    }
    
  5. 管理者権限が必要になるボタンにUAC(盾)のアイコンを表示する
    操作の続行に管理者権限が必要になることをユーザーに知らせるためボタンにUAC(盾)のアイコンを表示する
    (SystemIcons.Shieldプロパティの盾アイコンとWin32APIの盾アイコンには差があり、Windows 7で標準的に使われているのはWin32 APIのほうである。) 

    using System;
    using System.Windows.Forms;
    using System.Runtime.InteropServices;
    
    namespace Sample
    {
        public partial class Form1 : Form
        {
            [DllImport("user32.dll")]
            private static extern IntPtr SendMessage(HandleRef hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
    
            // 第2パラメータ:盾アイコンを設定するフラグ
            uint BCM_SETSHIELD = 0x0000160C;
    
            public Form1()
            {
                InitializeComponent();
    
                // ボタンの外観を「System」にする必要がある
                button1.FlatStyle = FlatStyle.System;
            }
    
            private void checkBox1_CheckedChanged(object sender, EventArgs e)
            {
                // 第1パラメータ:ボタンのウィンドウ・ハンドル
                HandleRef hwnd = new HandleRef(button1, button1.Handle);
    
                if (checkBox1.Checked)
                {
                    SendMessage(hwnd, BCM_SETSHIELD, new IntPtr(0), new IntPtr(1));
                }
                else
                {
                    SendMessage(hwnd, BCM_SETSHIELD, new IntPtr(0), new IntPtr(0));
                }
            }
        }
    }
    

Touch Diamond 環境構築メモ その7

ラジオを使えるようにしたときの設定メモ
FMラジオ

  • DLLの入れ替え

    アンテナの感度が少し良くなるので入れておく。

    1. 1.09.25.23 rilphone.cabをTouch Diamondに転送して実行
  • Bandの制限解除

    元のままでは設定化の範囲が87.5~108.0MHzなので日本の周波数帯である76.0~90.0MHzの一部が設定できないのでレジストリの値を変更することで選択可能にする。

    1. FM_JP.cabをTouch Diamondに転送して実行
      [HKEY_LOCAL_MACHINE\Software\HTC\FMRadio\FMPlayer]
      “Band”=dword:00000001
      
  • 普段使ってるイヤホンでFMラジオ聞く

    オーディオUSBアダプタ「スリム」を利用すると付属のマイク付きイヤホンでなくてもラジオを聴くことができる。

    1. オーディオUSBアダプタ「スリム」を購入する。

参考:Japan非対応のFMラジオの周波数帯を日本対応に変更

Touch Diamond 環境構築メモ その6

SMSとEMnetメールの設定について書いてほしいとリクエストを受けたので記載。
SMS受信確認設定画面

  • ArcMMSの削除

    DelArcMMS.mscrを実行して、ArcMMS関連を削除する

    1. DelArcMMS.mscrをTouch Diamondに転送して実行
      (BsB6.5.1GにはMortScriptがすでに入っているため実行できるはずですが、できない場合はMortScript-4.2-PPC.cabをインストール後に実行してください。)
  • MMS Liteインストールの下準備

    PreSetupMMSLite.exeを実行してMMS LiteでSMSを受信できるようにしたりするレジストリ情報を書き込む。

    1. PreSetupMMSLite.zipを解凍し、PreSetupMMSLite.exeをTouch Diamondに転送して実行
  • MSS Liteのインストール

    MMSLite.1.1.320.wm6.cabをインストールしてSMSとMMSを利用できるようにする

    1. MMSLite.1.1.320.wm6.cabをTouch Diamondに転送して実行
  • MMSLiteの設定

    MMSLite.mscrを自分の環境合わせて書き換えて実行し、設定を反映させる

    1. MMSLite.mscrをダウンロードし、メールアドレスなどを修正する
      Case(YES)
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "AllowDeliveryReport" , 1 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "AllowReadReport" , 1 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "AutoRetry" , 1 )
      RegWriteString( "HKCU", "Software\MMS Lite\Profiles\MMS", "EmailAddres", "自分のメールアドレス@emnet.ne.jp" )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "ForceAutoRecv" , 1 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "ForceConnect" , 0 )
      RegWriteString( "HKCU", "Software\MMS Lite\Profiles\MMS", "MmsGateway", "10.56.46.1:8080" )
      RegWriteString( "HKCU", "Software\MMS Lite\Profiles\MMS", "MmsServer", "http://mms.internal.emnet.ne.jp" )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "MsgDurationPeriod" , 0 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "RequireDeliveryReport" , 0 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "RetryCount" , 0 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "RetryTimeout" , 30 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "SaveSent" , 1 )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS", "ServerPort" , 80 )
      RegWriteString( "HKCU", "Software\MMS Lite\Profiles\MMS\UserAgent", "Default", "S21HT" )
      RegWriteString( "HKCU", "Software\MMS Lite\Profiles\MMS\UserAgent", "S21HT", "S21HT/ArcSoft-MMSUA-PPC-v50" )
      RegWriteDword( "HKCU", "Software\MMS Lite\Profiles\MMS\Connections", "EMnet" , 0 )
    2. 修正したMMSLite.mscrをTouch Diamondに転送して実行
  • 設定の確認

    設定が反映されているか確認する

    1. 「使用する接続を選択:」にはEMnetのものが選択されていること
    2. 「メールアドレス:」には電話番号が表示されているだろうけど、レジストリ情報にアドレスが記録されているので送信には問題ないようだけれど気になる人はアドレスに変更。

参考:ROM焼きしたTouch Diamond(S21HT)でEMnetメール。

Dynabook C7にUbuntu Netbook Edition 10.10をinstall

前回Ubuntu Netbook Edition 10.04をインストールしたけれどそのあとWindowsXPに戻していたので再度Ubuntu Netbook Edition 10.10をインストールしてみて、画面設定を手動で行う必要があったのでメモ。

xorg.confの作成
対象となったのはTrident社製CyberALADDiN-Tのチップセット

  1. 端末からgedit を起動する
    $ gedit ~/xorg.conf
    
  2. 下記の内容をコピー&ペースト

    Section "Monitor"
        Identifier   "Generic Monitor"
        HorizSync    28-51
        VertRefresh  43-60
    EndSection
    
    Section "Screen"
        Identifier  "Default Screen"
        Monitor     "Generic Monitor"
        SubSection  "Display"
            Depth  24
            Modes  "1024x768"  "800x600"  "640x480"
        EndSubSection
    EndSection
    
  3. 保存し xorg.conf を /etc/X11 にコピー
    sudo cp ~/xorg.conf /etc/X11/
    

[Android]NDKのインストール

MacOSXにインストールしたEclipseにAndroid NDKをインストールしたときのメモ。
(ndk-buildコマンド内でmakeコマンドを使用するため、Xcodeなどをインストールしておくこと)
Android NDK のダウンロード
NDKを適当なフォルダに格納する

  1. 下記のファイルをダウンロード
  2. ダウンロードしたファイルを解凍し、適当なフォルダに格納する(例:User/username/Developer)

CDT(C/C++ Development Tooling)のインストール

  1. 「ヘルプ」->「新規ソフトウェアのインストール…」を開く
  2. “作業対象:”に”Helios – http://download.eclipse.org/release/helios”を選択する
  3. 一覧が表示されたら「プログラミング言語」の中から下記のものにチェックを入れ、インストールする
    • C/C++ Development Tools
    • C/C++ Library API Documentation Hover Help (インキュベーション)

環境変数の追加

  1. .bash_profileを開く
    • vim ~/.bash_profile
  2. NDKの格納先を”PATH”に追加(例 NDK格納場所:/Users/username/Developer/android-ndk-mac)
    
    ANDROIDNDK_HOME=/Users/username/Developer/android-ndk-mac
    PATH=$PATH:${ANDROIDNDK_HOME}
    
    
  3. .bash_profileを再読込し、変更を反映させる
    • source ~/.bash_profile
  4. 環境変数が反映されているか確認する
    • printenv PATH
  5. (もし、そもそも環境変数”PATH”が存在してなかったら.bash_profileに下記の一文を最終行に追記する)
    
    export PATH
    
    

hello-jniライブラリのビルド

NDKに含まれるサンプルをビルドしてみて環境設定が整っていることを確認する。

  1. hello-jniのディレクトリに移動(例:/Users/username/Developer/android-ndk-mac/sample/hello-jni/)
    • cd /Users/username/Developer/android-ndk-mac/sample/hello-jni/
  2. ndk-build コマンドでビルドする(成功すると下記のような出力になる)
    
    Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
    Gdbsetup       : libs/armeabi/gdb.setup
    Compile thumb  : hello-jni <= hello-jni.c
    SharedLibrary  : libhello-jni.so
    Install        : libhello-jni.so => libs/armeabi/libhello-jni.so
    
    

[Android]AVDの作成

Android SDK Add-onを追加
Add-onをインストールインストール済みパッケージで確認

  1. Sony Ericssonから下記のファイルをダウンロードする
  2. SHARPから下記のファイルをダウンロードする
  3. ダウンロードした4つのファイルを解凍し、SDKのAdd-onsにコピーする
  4. Eclipseの「Android SDK および AVD マネージャー」->「installed packages」の「インストール済みパッケージ」の欄に下記の項目が表示されていることを確認する
    • sharp_addon by SHARP Corporation, Android API 8, revision 2
    • sharp_addon by SHARP Corporation, Android API 7, revision 2
    • JN-DK01 by SHARP Corporation, Android API 4, revision 1
    • X10 by Sony Ericsson Mobile Communications, Android API 4, revision 1

AVD(Android Virtual Devices)の作成

  1. Android 1.6の仮想デバイスの作成
    • 名前: Xpreria_X10
    • ターゲット: X10(Sony Ericsson Mobile Communications) – API Level 4
    • SD Card: 1024 Mib
    • Skin: ビルトイン: X10
  2. Android 2.1の仮想デバイスの作成
    • 名前: NexusOne
    • ターゲット: Android 2.1-update1 – API Level 7
    • SD Card: 512 Mib
    • Skin: ビルトイン: WVGA800
  3. Android 2.2の仮想デバイスの作成
    • 名前: HTC_Aria
    • ターゲット: Android 2.2 – API Level 8
    • SD Card: 512 Mib
    • Skin: ビルトイン: HVGA

[Android]EclipseにADTを入れる

MacOSXに入れたEclipseにADT(Android Development Tools)をインストールしたときのメモ

Android SDK のダウンロード
Android SDKを適当なフォルダにコピー

  1. 下記のファイルをダウンロードする
  2. 解凍して適当なフォルダに格納する(例:/Users/username/Developer)

ADTのインストール
新規ソフトウェアのインストールを選択Androidのリポジトリーを追加すべて選択して次へ

  1. 「ヘルプ」->「新規ソフトウェアのインストール…」を開く
  2. 「追加」を押下し、「リポジトリーの追加」を表示する
  3. 下記の値を設定し、「OK」を押下する
    • 名前:Android
    • ロケーション:https://dl-ssl.google.com/android/eclipse/
  4. 「インストール」Windowに戻ったら下記の値を設定する
    • 作業対象:Android
  5. 開発ツールにチェックを入れ、下記のすべてをインストールする
    • Android DDMS
    • Android 開発ツール
    • Android Hierarchy Viewer
  6. 完了時にEclipseの再起動を求められるので要求に従い、Eclipseを再起動する

Android SDKのインストール
SDKのパスを設定すべて選択してインストールすべて承諾しインストール

  1. 「Eclipse」->「環境設定…」を選択し、「Android」を選択する
  2. “SDK ロケーション”に格納したSDKを設定し、「OK」を押下(例:/Users/username/Developer/android-sdk-mac_x86)
  3. 「ウィンドウ」->「Android SDK および AVD マネージャー」を選択し、「Android SDK and AVD manager」を起動する
  4. 「Available packages」を選択し、すべて項目にチェックを入れる
  5. 「選択項目をインストール」を押下し、「Choose Packages to Install」画面に遷移する
  6. 「すべて受諾」を選択し、「インストール」を押下しインストールを行う
1 2 3 4 5 6 7 13

ホーム

検索
フィード
翻訳
Japanese flagItalian flagKorean flagChinese (Simplified) flagChinese (Traditional) flagEnglish flagGerman flagFrench flagRussian flagVietnamese flagThai flag

ページの上部に戻る