SQLの窓

2013年04月25日


Adobe Readerの脆弱性を突かれて人生初の『ウィルス』に感染・・・

正直嘗めてました。でも、はっきりしているのは。

セキュリティソフトを使っていても無駄です。

この事実が最も重要なところで、誤解されている部分でもあるはずです。

自分はプログラマなので原理はとても良く解ります

そもそも、ウィルスには『侵入経路』が必要で、侵入するには必ず必要な PC の所有者の『実行許可』が必要です。それは、直接的であれ、間接的であれ、たいていの場合は『マウスのクリック』で発動する事が殆どです。

さらに、今まで多かったのは『不審な』という形容詞の付く『プログラム』や『場所』や『ドキュメント』だったので、論理的に避ける事は可能だったんですが・・・・



いきなりあらわれたのは、このウィルスです。こちらこちら で『何者』かは解るので説明しませんが、こいつが全く身に覚えが無いのに突然表示されました。

しかしすぐ理解し、まず記憶を辿りました

自分はプログラマなので、PC の使用目的ははっきりしています。プログラムを作っているか、WEB で調べ物をしているか、WEB サイトにページを増やすか、ブログを書くかどれかです。しかも、その日の作業中だったので、何をしていたかははっきりしていて、

『WEB で調べ物』をしていました

つまり、一番不特定多数のサイトを訪問する作業であり、ウィルスに感染する唯一の可能性です。( メールとかは全部 WEB メールで、添付ファイルを開くという事はまず、殆どしません )

その日も、普通のサイトしか訪れた記憶はありませんでしたが、唯一 Google Chrome が固まった記憶がありました。残念ながらどこのサイトだったかは覚えて無かったのですが、普通のサイトしか訪れていません。

後で知る事になるのですが、その日の前後でかなり大量の一般サイトがハックされて、この手のウィルスがばらまかれたという事を WEB のニュースで知りました。

しかし、Adobe Reader さえ、最新にアップデートしておればこんな事にはならなかったのです。これが『嘗めていた』という事実です。

なぜセキュリティソフトを使っていても無駄なのか

まず、Adobe Reader のプラグインがブラウザにインストールされている状態は、『正常』な状態です。セキュリティソフトが Adobe Reader のプラグインを排除する事はありません。

次に、直接の原因はブラウザで WEB ページを閲覧する事にあります。これも、PC にとっては正常な行為であって、セキュリティソフトが、ブラウザの表示を監視するのは無理です。ブラウザが表示しているページの中に書かれている『ウィルス起動プログラム』は特殊ではありますが、もし監視するなら全てを監視する必要があり、とても利用者が忍耐できるような現実ではありませんし(仮に監視しても確実であるという保証は無く、むしろ誤動作も想定される)、とても稀な状況に対してする意味もありませんし、そもそも『正常な状態』なのですから。

完全にこの危険な状況を回避するには、Flash、Java、Adobe Reader をブラウザから削除する必要があります。Java と Adobe Reader は無くてもなんとかなりますが、さすがに Flash を削除できないのが現在の WEB 世界です。( OS を目的別に 5つ運用しているので、現在は、Flash ですら 3つでしか動作していません )

では、『ほぼ』で、対処する方法は、それらのソフトウェア( もう、自分の場合は Flash だけ ) を常に最新にインストールする事です。ですから、これらのソフトウェアはいつからか、なかば強制的に最新に更新させるような環境を『常駐プログラム』をユーザにインストールさせる事によって構築してきたわけです。

これしか対処方法がありません。かなり低い確率ですが、運悪く更新前( というか更新がリリースされる前 )に、たまたま、狙われ済みの WEB サイトを訪れてしまうとウィルスに感染してしまいます。

さて、ではウィルスの駆逐

感染してしまった場合、セキュリティソフトは威力を発揮します。状況によっては、セキュリティソフトの守備範囲外で潜み続ける場合も無い事も無いですが、たいていは駆逐できるでしょう。多少の知識があれば、今回自分が感染した程度のものならば、ちょちょいと手動で削除も可能です。

特に、このウィルスそのものは、殆ど詐欺目的でばらまかれているので、植えつけた側のレベルによって単純な場合が多いものと考えられます。不安を煽って金銭を間違って払う事を期待しているので、PC を破壊する事が目的ではありませんし、そうそう複雑な潜み方はしないはずなのですが・・・・・

実は、とんでもなかった

ウチのはとんでもなかったです。WEB の情報で、たしかにそのとおりの場所にウィルスは存在しました。すぐ削除しましたが・・・・そのウィルスの肝心の起動場所と思われるレジストリには何も無かったのです。これは、いろいろな方法で試みたので間違いありません。その結果、やはりネットワークの利用時におかしな事が起こります。最初にこのウィルスが発動したのが、FTP クライアントソフトでログインしようとした時でしたから、『ネットワーク関係』の場所に潜んでいると思いました。

で、結果的に・・・・

今となっては、100% そうだとは言い切れないのですが、『ネットワークアダプタのドライバ』として潜んでいたようなのです。その時はイライラしながらいろんな事を試していて、たしか、ドライバを見に行った時に、通常なら一行のドライバが表示されるはずのところに、4行くらいのドライバが存在していました。即、ネットワークアダプタを『無効』にしてしまったので、詳しい情報がなくなってしまったのが悔やまれます( かなりそのときは疲れていたので )

結局、再度有効にすると正常な一行になり、それ以来起きていた異常が起きなくなりました( ブラウザがのきなみページごとに落ちてました )

後からいろいろ調べた結果では、勝手にハードディスクのパーティションを切って、そこに潜むというとんでも無いのが居る事も解ったので、これくらいの事はするだろうと思い。それをきっかけに、ハードディスクを二つにパーティションに圧縮して、もう一つ Windows7 をインストールする事にしました。こうすると、隣からウィルスの心配せずにファイルを取り出せるし、危険かもしれない処理をする為専用として、感染して対処した OS( 一応問題無く動いてますが )を再インストールせずにまだ置いてあります。

そこでしか動かない古いソフトウェア環境もあるので、苦肉の策です。
( いずれいらなくなったら再インストールします )

※ もちろん、最終的にはセキュリティソフトでディスクを全てスキャンしています。

【追記】
おかげで、Adobe Reader のプラグインが自分には全く必要の無いものだと今回理解しました。Google Chrome を使っていると、Chrome PDF Viewer というプラグインがインストールされていて、ブラウザに PDF をドラッグ&ドロップすると表示できます。

また、Google Chrome の Flash は、Chrome に組み込まれているもの以外でも PC でインストールされると『有効』になってます。プラウザを複数使う人は、各ブラウザの関連プラグインの有効・無効と、デフォルトのブラウザがどのブラウザかを再確認して、Flash がどのプラグインを最新にしているかを理解しなくてはいけません。

IE のプラグイン無効は、『アドオンの管理』で行います。


posted by lightbox at 2013-04-25 22:18 | 記録 | このブログの読者になる | 更新情報をチェックする

2013年04月21日


C# コンソールアプリを AN HTTP で実行

単純に、WEB アプリケーション初心者にブラウザとサーバーのやり取りを知ってもらう為に( 今は、開発者ツールがあるので途中の解説がしやすいですし )、C# で作った EXE をそのままブラウザで実行させます。

基本設定

EXE の列の『一般パスでも実行する』にチェックします



次に、一般パスに C# で作成された Debug フォルダを登録します。



後は、loclhost から実行するだけです。


ソースコード
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace cgi
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Expires: Thu, 04 Oct 2000 00:00:00 GMT");
            Console.WriteLine("Content-Type: text/html; Charset=shift_jis");
            Console.WriteLine();

            Console.WriteLine("<!DOCTYPE html>");
            Console.WriteLine("<html lang=\"en\">");
            Console.WriteLine("<head>");
            Console.WriteLine("</head>");
            Console.WriteLine("<body>");

            Console.WriteLine("Hello World<br />");

            var QUERY_STRING = System.Environment.GetEnvironmentVariable("QUERY_STRING");
            Console.WriteLine(QUERY_STRING);
            
            Console.WriteLine("</body>");
            Console.WriteLine("</html>");

        }
    }
}




posted by lightbox at 2013-04-21 00:49 | VS(C#) | このブログの読者になる | 更新情報をチェックする

2013年04月20日


ADT( Android Development Tools ) Eclipse に Window Builder をインストールして Swing アプリケーションを作成する(2)

ADT( Android Development Tools ) Eclipse に Window Builder をインストールして Swing アプリケーションを作成する(1) からの続きです。

Swing プロジェクトの作成

新規でまず、Java プロジェクトを作成します



JRE は、1.6 を選べます



作成したプロジェクトから、新規作成て『その他』を選択します



Window Builder 内の Swing Designer で JFrame を選択します



名前を入力します



contentPane を選択して、レイアウトを絶対指定に設定します
( Window のサイズは、JFrame を選択します )



ボタンを追加します



イベントを追加します



イベント内にテストコードを記述します



実行して動作を確認します






関連する記事


posted by lightbox at 2013-04-20 20:47 | Java | このブログの読者になる | 更新情報をチェックする

Android エミュレータでウェブカメラを使いたいだけなのに、必要無いソフトが沢山インストールされて常駐されました。

2013-04-20 : 更新

記事を書いてから、しばらくして PC を立ち上げたら、再び eReg.exe が起動しました。スタートアップからは削除しています。製品も接続していません。起動場所がわかりませんので、本体をリネームして様子を見ます。ちなみに、レジストリには存在します。eReg.ini を見ると、48時間毎に起動するようではあります・・・

しかも、起動したという事で、再びスタートアップに登録されました。なんじゃこりゃ。やってる事ウィルスと変わらないんですが。

結局、『プログラムと機能』から、『ドライバパッケージ』のみを残して後は削除しました。そうすると、eReg.exe の入っているフォルダごとなくなっており、サービスも削除されていました。



追加情報として、動作確認は面倒なのでしませんが、ウェブカメラを繋いだ状態で Windows Update の詳細を見ると以下のようなソフトを見る事ができます。
Logitech - Communication Device, Streaming Media and Broadcast - Logitech Mic (Communicate STX)
ダウンロード サイズ: 2.1 MB
この更新プログラムを有効にするには、コンピューターを再起動する必要があります。
更新プログラムの種類: オプション
Logitech Communication Device, Streaming Media and Broadcast software update released in October, 2009
最初の記事 対象製品は Qcam Communicate STXトレードマーク(TM)(QVC-71) です。相当昔に購入したもので、最新のドライバをダウンロードしてインストールしました。( それでもインストーラの 1/3 で中止したんですが ) 目的は最新の ADT( Android Development Tools ) では、ウェブカメラの設定が簡単になっているので動作確認の為に行いました。Microsoft のドライバでは、Google+ の投稿には使えるのですが、エミュレータ上ではエラーになるので最新のドライバをインストールして、無事 エミュレータ上で表示可能になりました。( 表示はいろいろと逆さまなんですが、テストには支障なし ) ▼ DDMS のファイルエクスプローラで取り出した画像 DDMS のファイルエクスプローラ 止めた余計なアプリ(止めても ADT では支障なし) ❶ c:\program files\logicool\logicool webcam software\lws.exe ❷ c:\program files\logicool\logicool vid\vid.exe この二つは、ユーザとPC の レジストリの自動起動部分に ❸ C:\Program Files\Logicool\Logicool WebCam Software\eReg.exe これは、プログラムメニューのスタートアップに入っていて、製品の登録をさせようとします ❹ C:\Program Files\Common Files\LogiShrd\LVMVFM\LVPrcSrv.exe なんか、謎のサービスが自動起動になっています Process Monitor(Injector service) とありますが、なんだか良く解りません。 とにかく少し酷すぎると思います。 こいつらは、WEBカメラが USB に存在しなくても起動されます 関連する記事 フリーソフト : Autoruns for Windows : 自動起動アプリケーションを一時解除等 ドライバの状態 こんな感じで、これだけが必要だったんですけどね。 ドライバの詳細を見ても、wuapp32.exe というファイル以外は全て dll で、製品が USB に接続されなければ、当然起動されません。( 確認したら、接続しても起動されなかった・・・何これ? ) タスクマネージャから実行中のソフトの情報収集 『説明』でだいたいの想像は付きますが、『ファイルの場所を開く』で、どのフォルダにあるか解るので、どういうソフトか、フォルダから知る事ができます。また、ファイル名そのものを WEBで調べれば、どういう会社のものかはたいてい解るはずです。 問題は、ここで動いているものがどこから起動されたかという事ですが、一般的なものは、『スタートアップ』フォルダで、これは削除すれば終わり。次にレジストリの自動起動部分が、PC 全体と、ユーザ毎とで少なくとも二箇所あるので、専用のフリーソフトで対処できます。 あとは、サービスタスクスケジューラなので、これは正攻法で止める必要があるのですが、どのサービスかを特定するのに、タスクスマネージャの『サービスの表示』で関連するサービスを特定できる場合があります。 サービスを特定したら、手動にして終了させればいい場合がほとんどですが、『無効』にしないと勝手に起動するアプリケーションもあり、酷いのになると『無効』にしても勝手に生き返るものもあります。それは、他にも関連するアプリが起動済みであるという事なので、さらに調査が必要になります。 タスクスケジューラに登録されているアプリケーションはだいたいは必要なものが多いので、むやみに削除せずに、よく調査・確認してから削除するといいでしょう。 Google と タスクスケジューラ 更新履歴 2013-04-18 : 記事作成 2013-04-20 : トラブル報告
posted by lightbox at 2013-04-20 17:58 | Android | このブログの読者になる | 更新情報をチェックする

Windows Phone のアプリケーションバーはテンプレートのコメントを外して使う

デザイナではどうにもなりません。Microsoft の解説ページでは常に『コメントを外すかここのコードを使え』です。

Microsoft のドキュメントWindows Phone のアプリ バー

※ 全体概要です

❷ Windows Phoneのアプリケーション バー アイコン ボタン

アイコン画像の場所と、追加方法です
32ビット
C:\Program Files\Microsoft SDKs\Windows Phone\v8.0\Icons
64ビット
C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Icons
XAML で Windows Phone のアプリ バーを作成する方法 コメントを外して作るお話 ❹ Windows Phone のコードでアプリ バーを作成する方法 コードで動的に作るお話 ❺ Windows Phone のアプリ バーのアイコン ボタンとメニュー項目を動的に変更する方法 アプリケーションバーのプロパティを変更するお話 ❻ Windows Phone の複数のページでアプリ バーを再利用する方法 Windows Phone では、ページ毎にデータが独立してしまうので、App.xaml でアプリケーションバーを共有しましょう・・・というお話 ❼ Windows Phone の単一 Pivot コントロールで異なるアプリ バーを使用する方法 Pivot の複数ページは、実際は一つのコントロールなので、元々共有されてしまうので、イベントで違うものを表示しましょう・・・というお話 ❽ チュートリアル: Windows Phone のアプリ バー テスト アプリの作成 いろんなテクニックを使って実装してみましょう・・・というお話ですが、特に試す必要は無いと思います。 それより、サンプルコードが完成しているので、そちらを実行してみるのがいいと思います。 ❾ MainPage.xaml - Application Bar Sample 以下は以前書いた記事です ❿ 【解説】アプリケーションバーのメニュー項目のクリック / Windows Phone(C#)
posted by lightbox at 2013-04-20 15:32 | Windows Phone | このブログの読者になる | 更新情報をチェックする

2013年04月19日


Windows ストアアプリの AppBar を作成してテストする

サンプルをコピーして実行すればできてしまいますが、『ブランクテンプレート』から、正攻法で作成する手順です。



StandardStyles.xaml の変更

Common フォルダにある StandardStyles.xaml を、Microsoft のサンプルの中にあるもので置き換えます。( 何故か、中身を変更しないと、AppBar のスタイルが使えないのですが、変更するよりコピーしたほうが確実なので )

実際問題として、Visual Studio 2012 のテンプレートやデザイナの出来は『良いものとは言えません』。製品版になる前から検証していますが、なにも問題は改良されていないので、がっかりしないようにして下さい。

Page のプロパティから『新規作成』

Visual Studio のデザイナ部分は、『Blend for Visual Studio』に力が入ってしまっていて、Visual Studio 本体のデザイナは、『とりあえずある』という程度です。なので、AppBar を追加するにしても、納得のいく形では出来上がりませんので注意して下さい。

本来ならば、デザイナに直接ドロップして Page のプロパティに設定すべき AppBar なのですが、デザイナから見えるのは Grid なので、そのままドロップすると Grid の中に定義されてしまって意味不明になります。

ですから、まずはテンプレートとして『プロパティ』の BottomAppBar プロパティの『新規作成』ボタンで挿入します。



▼ 新規作成すると以下のようになります



しかし、これでは何も設定されていないので、AppBar を選択した状態でデザイナ画面に移動して、AppBar をドロップします。



そうすると、やっとテンプレートらしきものが設定されるのですが、AppBar が二重になってしまうので、外側を削除します。



ボタンの追加

これでやっと、AppBar が作成されて、左右にバーが作成されている事になります。左側の StackPanel を選択してからデザイナ画面に移動して Button をドロップします。



ボタンが追加されたら、プロパティで余計な Content プロパティに設定されている表示用の文字列を削除し、Style プロパティでリソースに定義されている AppBar 用のボタンスタイルを設定します。
プロパティは、カテゴリで表示して『寄せ集め』から設定すると、いろいろ変更してテストしやすいです。
続けてイベントと他のコントロールを作成して動作確認 イベントは、プロパティウインドウの雷マークタブに移動して、該当するイベント欄をダブルクリックすると自動作成されます。
<Page
    x:Class="BlankApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:BlankApp"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d">

    <Page.BottomAppBar>
        <AppBar>
            <Grid>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition/>
                    <ColumnDefinition/>
                </Grid.ColumnDefinitions>
                <StackPanel Orientation="Horizontal">
                    <Button
                        HorizontalAlignment="Stretch"
                        VerticalAlignment="Stretch"
                        Style="{StaticResource SettingsAppBarButtonStyle}"
                        Click="Button_Click_1"/>
                </StackPanel>
                <StackPanel 
                    Grid.Column="1"
                    HorizontalAlignment="Right"
                    Orientation="Horizontal"/>
            </Grid>
        </AppBar>
    </Page.BottomAppBar>

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
        <TextBox
            x:Name="MessageArea"
            HorizontalAlignment="Left"
            Height="116"
            Margin="88,68,0,0"
            TextWrapping="Wrap"
            VerticalAlignment="Top"
            Width="448"
            IsReadOnly="True"/>
    </Grid>
</Page>

以下は、メッセージ表示を行う『MessageDialog』ですが、応答するボタンを三つまで自由に作成する事ができます。

C# ならではの記述方法として、() => {処理}と、インスタンスを作成する場合に同時にプロパティを設定する {プロパティ=初期値[,プロパティ=初期値...]} を使っています。Id は、設定しておかないと、イベント内では何も入って来ないので注意して下さい

async と await については、こちらを参照して下さい。


using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;

namespace BlankApp
{
    public sealed partial class MainPage : Page
    {
        public MainPage()
        {
            this.InitializeComponent();
        }

        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }

        private async void Button_Click_1(object sender, RoutedEventArgs e)
        {
            var messageDialog = new MessageDialog("メッセージ", "タイトル");

            messageDialog.Commands.Add(new UICommand("選択肢1", (command) =>
            {
                Debug.WriteLine(command.Label);
                Debug.WriteLine(command.Id);
                this.MessageArea.Text = command.Label + "\n" + command.Id;
            }) { Id = "idの型はobject" });

            messageDialog.Commands.Add(new UICommand("選択肢2", (command) =>
            {
                Debug.WriteLine(command.Label);
                Debug.WriteLine(command.Id);
                this.MessageArea.Text = command.Label + "\n" + command.Id;
            }) { Id = new Uri("http://winofsql.jp") });

            messageDialog.Commands.Add(new UICommand("アプリ終了", (command) =>
            {
                App.Current.Exit();
            }) { Id = 3 });

            messageDialog.DefaultCommandIndex = 1;

            await messageDialog.ShowAsync();

        }
    }
}




posted by lightbox at 2013-04-19 22:47 | Win8 ストアアプリ | このブログの読者になる | 更新情報をチェックする

ADT( Android Development Tools ) Eclipse の導入

ほんの少し前までは、Eclipse に Android SDK を導入して使っていたのですが、現在では『ADT Bundle for Windows』をダウンロードして解凍するだけで、Eclipse と SDK がセットで入っており、その中の Eclipse を起動するだけですぐ Android の開発が可能になるようになっています。



IT 用語辞典の ADT の説明
統合開発環境(IDE)のEclipseにAndroid OS向けの開発環境を追加するプラグイン。Google社が無償で公開しているもので、利用には別途Android SDKのインストールが必要。
これは、『12.7.29更新』 とされていたので当然古いものですが、現状とニュアンスが異なって来ています。( SDK をダウンロードすると、ADT と Eclipse がセットなので、独立して考えるのは Eclipse を既に導入済みで、どうしてもそれを使いたい場合です ) ※ 解凍したらすぐ使えるので、現状の環境に固執する必要は無いと思います。 ※ エミュレータの設定ファイルの作成はユーザ毎です。 ( ADT Eclipse のスプラッシュ画像 ) ※ おもいっきり ADT を強調しています 導入の際の重要な事 ❶ JDK は必要無い ❷ 日本語化は、Pleiades日本語化プラグインを利用する 自分自身の経験から言うと、Java で開発したかったら、JDK をインストールして( 当然 JRE もインストールの一環 )、環境変数の PATH に JDK の場所を設定する・・・というものでしたが、実際問題、JRE のみで良く、PATH 環境変数の設定も必要ありません このダイアログは、Java が全く無い状態で Eclipse を起動したものですが、JRE or JDK とあります。もともといずれかがインストールされている PC では見る事が無いと思いますが、この後 JRE7 のみをインストールして正常に動作しています。 PATH が必要無いのは、JRE7 から、java に関する主要なプログラム( JRE の場合は javaw 等 )が Windows のシステムフォルダにインストールされるからです。 導入手順 ❶ 64ビットか 32ビットか ADT(SDK) も JRE も 両方の環境がダウンロード可能なので選択してからダウンロードして下さい。 ❷ C:\ に adt フォルダで配置 Pleiades の Eclipse でも良く言われていましたが、Eclipse の環境がやたらと階層の深い長い文字の名前が多いので、解凍時に問題が出るかもしれないので深い階層で解凍する事は避けたほうがいいと思います(Windowsを信用してはだめです)。また、実際問題運用を考えると、c:\adt は扱いやすいものと思います。 ❸ JRE のダウンロード 全オペレーティング・システム用のJavaのダウンロード 開発環境として考えた場合、JRE7 のインストールをためらう場合もあるかもしれませんが、Java の脆弱性問題等を考えた場合、できるかぎり最新版を使っていたほうが多くの問題を考えなくて済みます。また、Eclipse 内で JRE6 を利用できるので特に問題も出ないとは思います。 ※ 参考 : 旧バージョンの Java をシステムから削除しなければならないのはなぜですか。
Java SE 6のパブリック・アップデートの終了
2013年2月以降、オラクル社ではパブリック・ダウンロード・サイトにJava SE 6のアップデートを公開しません。Java 6の6u45を含むそれ以前のリリースはすべてOracle Technology NetworkのJavaアーカイブに移動されます。そこでは今後も入手可能ですがアップデートはされません。パブリック・アップデートとセキュリティ機能強化を受け続けるために、ユーザーはJava 7に移行することをお薦めします。
64ビットPC でのみ、64か32を選択できるようです。 ❹ JRE のインストール インストールはすぐ終了します ❺ Eclipse の起動確認( まだ英語です ) 最初に、こういうダイアログが出た場合は、『利用統計』に協力するかどうかという内容のようなので No でかまいません。 正しく起動された場合は、いったん終了して、日本語化を行います。 ❻ 日本語化プラグインのダウンロード Pleiades - Eclipse プラグイン日本語化プラグイン もう、『Eclipse』と言えば、『Pleiades』ですが、Java アプリケーションの単純な開発であれば、Pleiades から Eclipse をダウンロードする必要はありません。ADT で Swing( WindowBuilder ) もできます。ただ、日本語化は Pleiades のプラグインがとても有効です。 ( クリックすると拡大表示します ) 日本語化プラグインの『インストール』 ❼ まずは解凍して必要なフォルダとファイルを選択してコピー ADT の Eclipse のフォルダに同じ名前のフォルダがありますから、そこへ上書きするようにコピーします。その後、eclipse.ini に一行追加するだけです( この詳細は日本語化プラグインの readme に記述されています)。 ❽ eclipse.ini の変更 ▼ eclipse.ini の最終行に追加する一行 -javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar この結果、スプラッシュ画像が Pleiades が持っているものと変わってしまいますが、どうしても ADT のスプラッシュを使いたい場合は、設定よりも、直接画像を置き換えたほうが簡単で確実です( 調べたら、設定は面倒で不確実でした ) 関連する記事 スプラッシュを ADT のものに戻すには : ADT Eclipse + WindowBuilder - NAVER まとめ
このまとめでは、WindowBuilder の導入部分も含めて、一連の画像をまとめてあります
❾ eclipse.exe -clean.cmd で起動 これは、Pleiades でのお約束です。Eclipse に変更を加えた場合は、クリーンオプションで起動しておくと問題を回避できるというお約束なので、必ずこのコマンドで起動します( コピーしたファイルです ) ❿ 日本語化完了 関連する記事


posted by lightbox at 2013-04-19 11:27 | Java | このブログの読者になる | 更新情報をチェックする

2013年04月15日


Windows8 ストアアプリの StaticResource で使用されるテーマ色の定義場所

以下は、64ビットでの場所ですが、32ビットなら (x86) が無いだけだと思います。
C:\Program Files (x86)\Windows Kits\8.0\Include\WinRT\Xaml\Design\themeresources.xaml
ちなみに、Windows Phone は以下です。
C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v7.1\Design\ThemeResources.xaml
C:\Program Files\Microsoft SDKs\Windows Phone\v7.1\Design\ThemeResources.xaml



posted by lightbox at 2013-04-15 23:41 | Win8 ストアアプリ | このブログの読者になる | 更新情報をチェックする

Windows7 : shell:sendto は、sendto だけで開くようです。

正式な文書はついに見つけられませんでした。



結局、『ファイル名を指定して実行』では、shell:sendto しか動きませんが、エクスプローラのアドレスバーと、ツールバーのアドレスでは、sendto のみで、『送る』フォルダを開く事ができますshell: で使える文字列の一覧が見れるサイト

Shell コマンドで開く特殊フォルダー一覧(Windows 7,8)

実際使えそうなのは数えるほど(深い階層で短い名前で無いと意味が無い)ですが、何かの時に使えると思います( ショートカットのリンクには使えません )

shell:Recent
shell:Startup

Templates は、sendto を呼び出すと、並びにあります

似たような処理は %環境変数% 

例えば、%TEMP% でテンポラリフォルダを開く事ができます




posted by lightbox at 2013-04-15 23:22 | Windows7 | このブログの読者になる | 更新情報をチェックする

HTA : Windows Media Player API を使った簡易動画(画像)ギャラリー(作成はフォルダで『送る』)

2013-04-15更新

フルスクリーンボタンの横に、リビルドボタンを追加しました。ファイルが増えたり、サムネイルを作成した後に実行して、ギャラリーを再作成します。実行後は、F5 でリロードすると反映されます。

2013-04-14更新

64ビット環境では、HTA は 32ビットが呼び出されるので、64ビットでテストしてみましたが、正しく動作しました。

動画・画像名に % が含まれると、サムネイルを作成後、正しいはずなのに、HTA が画像を表示しない事があります( どう考えても Microsoft のバグです )







WindowsXP のころに作ったのを Windows7 で動作確認してみると、思いの他軽快になっていました。WindowsXP のころの Media Player は画面のキャプチャを取る時にプロバティ設定を変更する必要があったのですが、今は普通にキャプチャできました。そもそも、今は Media Player にその設定項目すら無かったです。

動画はあまり手持ちが無いので良くは解りませんが、Windows Media Player 側で いろいろなフォーマット の再生を可能にしておけば簡単にギャラリーが作成できます。
( 画像の場合は、10秒の スライドショーになります )
たいていのフォーマットが再生可能になるソフト : CCCP( Combined Community Codec Pack )

出来上がった後も、ただの HTML なので、リストを意図的に変更したり順序変更したり自由に加工が可能です。

base.htm というテンプレートから作成しているので、
API を使ってさらに機能追加する事もできます
■ 使用方法

1) エクスプローラで対象となるフォルダを選択する

2) 「送る」から「簡易ギャラリー作成」を実行

3)「処理が終了しました」というメッセージボックスが表示されたら、  そのメッセージボックスを閉じて下さい

4) ファイルがあるディレクトリに play_gal.hta というファイルが作成されて  いるのでエクスプローラで開きます

5) 左下の「Play」ボタンをクリックすると再生が始まります

6) SHIFT キーを押しながら「Next」「Previous」をクリックすると、10先のファイルが再生されます

7) 最後まで行くと、ループ再生なので最初へ戻ります

※ 再生中は、Full Screen ボタンが機能します

サムネイルボタンをクリックすると、カレントに s というフォルダを作成して、サムネイルを作成します。再度フォルダの右クリックからギャラリーを作成いると、右サイドにサムネイルリンクが作成されます。

サムネイル作成は、Windows7 では特に問題無かったですが、WindowsXP のころのMedia Player ではオプションのパフォーマンスでソフトウェアのみで表示するようにする必要がありした。
更新履歴 2009/08/21 : 記事作成 2013-04-14 : Windows7(32/64) で再テスト 2013-04-15 : リビルドボタン追加
タグ:wmp API
posted by lightbox at 2013-04-15 21:05 | IE | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Windows
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり