2019年01月07日


WSH : GUID取得

Scriptlet.TypeLib で GUID を取得できます

▼ InternetExplorer.Application でクリップボードへコピーする
' GUID 取得用
Set TypeLib = CreateObject("Scriptlet.TypeLib")

' クリップボード用
' ※ HTA 等では直接 window.clipboardData より実行
' ※ するように書き換える必要があります
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate("about:blank")
Do While objIE.Busy
	' 100 ミリ秒
	Wscript.Sleep 100
Loop

Call objIE.document.parentWindow.clipboardData.SetData( "Text", TypeLib.Guid & "" )
objIE.Quit

WScript.Echo "クリップボードにコピーしました" & vbCrLf & vbCrLf & TypeLib.Guid


▼ 自分でクリップボードへコピーする
' GUID 取得用
Set TypeLib = CreateObject("Scriptlet.TypeLib")

Call InputBox("コピーして使用して下さい","新しい GUID を取得しました",TypeLib.Guid)





タグ:VBScript
posted by at 23:04 | 開発用 | このブログの読者になる | 更新情報をチェックする


2019年01月05日


表示しているサイトで windows.prompt で検索文字列を入力させて Google を呼び出すブックマークレット

posted by at 14:01 | ブックマークレット | このブログの読者になる | 更新情報をチェックする


2019年01月02日


Seesaa(またはさくらのブログ) の記事の一括編集で『コメント・公開設定・広告の表示・カテゴリ』を一括変更するブックマークレット

※ さくらのブログに広告の表示はありません




Sessaa 一括変更

一括編集タブで使用します。検索結果でもいいですし、単純に200件表示でもいいです。

カテゴリの一括変更では、記事一覧を検索で絞ってから一括変更するといいと思います。カテゴリ番号は、そのカテゴリを表示した時の URL の最後の文字列( 例 : 7154748-1.html )のハイフン以降を除いた数字です。
( カテゴリID を数字に変更してカテゴリ変更をクリックします )


javascript:var wnd=document.createElement('iframe');wnd.setAttribute('id','if');wnd.frameBorder=0;document.body.appendChild(wnd);wnd.contentWindow.document.write('<script src=\'https://winofsql.jp/s01.js\' charset=\'shift_jis\'></script>')

// plugin Bookmarklet
// by lightbox

parent.document.getElementById("if").style.position='absolute';
parent.document.getElementById("if").style.width='300px';
parent.document.getElementById("if").style.height='34px';
parent.document.getElementById("if").style.left='0px';
parent.document.getElementById("if").style.top='0px';
parent.document.getElementById("if").style.zIndex=100;
var sLocation = parent.location.host;
var sUrl = parent.location.href;
var doc = parent.document;
var tds = doc.getElementsByTagName("form");
var len = tds.length;
var cnt = 0;
var add = null;
for( i = 0; i < len; i++ ) {
	if ( tds[i].name == 'search_form' ) {
//		cnt++;
//		if ( cnt == 2 ) {
			add = tds[i];
//		}
	}
}
var place = doc.createElement('div');
add.appendChild(place);
str="";
str+="<select id=changetype style=margin-left:5px;> \n";
str+="<option value=\"0\" title=\"受付×/表示×\">×/×</option> \n";
str+="<option value=\"1\" title=\"受付○/表示○\">○/○</option> \n";
str+="<option value=\"2\" title=\"受付×/表示○\">×/○</option> \n";
str+="<option value=\"3\" title=\"受付○(承認制)\">承認制</option> \n";
str+="</select> ";

str+="<select id=changetype2> \n";
str+="<option value=\"0\" selected=\"selected\">無効 / 公開</option> \n";
str+="<option value=\"1\" >有効 / 非公開</option> \n";
str+="</select> ";

str+="<INPUT type=button value='コメント' onClick='wnd.contentWindow.changeTarget(0)'>";
str+="&nbsp;<INPUT type=button value='公開設定' onClick='wnd.contentWindow.changeTarget(1)'>";
str+="&nbsp;<INPUT type=button value='広告の表示' onClick='wnd.contentWindow.changeTarget2()'>";
str+="&nbsp;<INPUT id='target_cat' type=text value='カテゴリID' onclick='this.select();' style='width:80px;'>";
str+="&nbsp;<INPUT type=button value='カテゴリ変更' onClick='wnd.contentWindow.changeTarget3()'>";
place.innerHTML = str


str="";
str+="<head> \n";
str+="<META http-equiv=\"Content-Type\" content=\"text/html; charset=shift_jis\" /> \n";
str+="<style type=text/css> \n";
str+="body { margin:0;background-color:forestgreen;color:white; } \n";
str+="</style> \n";
str+="</head> \n";
str+="<body> \n";

str+=" plugin Bookmarklet by lightbox\n";

str+="</body> \n";

document.write( str );
document.close();

var userAgent = window.navigator.userAgent.toLowerCase();
var appVersion = window.navigator.appVersion.toLowerCase();

function changeTarget(type) {

	var sels = doc.getElementsByTagName("select");
	var len = sels.length;
	var name,namelen,target;
	var value = doc.getElementById("changetype").value;

	// コメント
	if( type == 0 ) {

		for( i = 0; i < len; i++ ) {
			name = sels[i].name;
			namelen = name.length;
			target = name.substr(namelen-7,7)
			if ( target == 'comment' ) {
				doc.getElementsByName(name)[0].value = value;
			}
		}

	}
	// 公開・非公開
	if( type == 1 ) {

		value = doc.getElementById("changetype2").value;
		if ( value == 0 ) {
			value = 1;
		}
		else {
			value = 0;
		}

		for( i = 0; i < len; i++ ) {
			name = sels[i].name;
			namelen = name.length;
			target = name.substr(namelen-4,4)
			if ( target == 'flag' ) {
				doc.getElementsByName(name)[0].value = value;
			}
		}

	}

}
function changeTarget2() {

	var sels = doc.getElementsByTagName("select");
	var len = sels.length;
	var name,namelen,target;
	var value = doc.getElementById("changetype2").value;

	for( i = 0; i < len; i++ ) {
		name = sels[i].name;
		namelen = name.length;
		target = name.substr(namelen-4,4)
		if ( target == 'link' ) {
			doc.getElementsByName(name)[0].value = value;
		}
	}
}


function changeTarget3() {

	var sels = doc.getElementsByTagName("select");
	var len = sels.length;
	var name,namelen,target;
	var value = doc.getElementById("target_cat").value;

	for( i = 0; i < len; i++ ) {
		name = sels[i].name;
		namelen = name.length;
		target = name.substr(namelen-12,4)
		if ( target == '_cat' ) {
			doc.getElementsByName(name)[0].value = value;
		}
	}
}




posted by at 22:17 | ブックマークレット | このブログの読者になる | 更新情報をチェックする


2018年03月30日


実運用では無く、学習用の WWWサーバーとしてはこれ以外に無い『AN HTTP Server』ですが、古いソフトなので使い方にコツがあります

大前提!! 管理者権限で起動する

これを守らないと、環境によっては訳が解らない事になります。
httpd.exe のプロパティの『互換性タブ』の一番下の特権レベルで、『管理者としてこのプログラムを実行する』ほうが間違い無いです。


▼ 以下は、ショットカットの場合の設定 ショートカットを作成して、その詳細設定ボタンから常に管理者権限で起動するようにしておきます。これは、AN HTTPD がレジストリを使ってデータを保存するので、通常起動だと情報が意図しない場所に保存されて読み出しできなくなるからです。
AN HTTP Server が何故か落ちる場合は、レジストリの AnHttpd(HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd) を全て削除して下さい。何らかのの理由で整合性が保たれなくなって落ちています。httpd.exe を実行するとデフォルトの正しいエントリが作成されます。そしてもちろんの事ですが、実行は管理者権限で実行してください。
Windows SDK の mt.exe を使って、exe ファイルそのものを変更して 管理者権限で実行させるようにする事もできます 以下は、実行中の httpd.exe を終了させ、管理者としてカレントの httpd.exe を実行して、スクリプトのあるフォルダをドキュメントルートにします。(インデックス表示を許可するようにしています)
' 管理者として実行を強制する
Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
	Wscript.Quit
end if

Dim Fs,WshShell

Set WshShell = CreateObject("WScript.Shell")

Const ForWriting = 2
Set Fs = CreateObject("Scripting.FileSystemObject")
strCurPath = WScript.ScriptFullName
Set obj = Fs.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

Call WshShell.Run( "cmd /c taskkill /im httpd.exe /f", , True )

Call WshShell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default\DocumentRoot\",strCurPath )
Call WshShell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default\Index\Browsable","Off" )
WshShell.Run(strCurPath & "\httpd.exe")

※ php.ini では、cgi.force_redirect = 0 を設定してください。

WEB アーカイブからダウンロードは可能です。

とにかく、今年( 2015年 )の2月5日以降に、何があったのか配布サイトのトップの HTML が無くなっています。ダウンロードリンクはまだ生きていますが、いつ無くなっても不思議は無いです(なくなりました)。



Apache を使ってもいいのですが、インストールいらずで 軽量なので、USB に気軽にいくつでも入るので便利この上無いです。( USB への使い方は、エイリアス無しでルートにディレクトリを掘って何パターンも保存できると言う意味です )

しかし、確かにいろいろ面倒な事が山積みではあるので、知らない人が使おうと思う事はまず無いと思います。ですが、以降の手順であればすぐに PHP を使っていろいろな事ができます。

"C:\httpd142p" に保存する

これは、後々小回りが利くという意味でもありますが、Program Files は、Windows の権限の扱いが面倒だと言う事と、フォルダ名にスペースが混じっているという問題があります。Cドライブに自分が必ず普通にアクセスできる権限で保存します。二つ欲しければ違う名前にします( 但し、一度に起動できるのは一つまでですし、切り替えるにはドキュメントルートの変更が必要です / レジストリは同じ場所になるので )

余計な機能は使わない

1) 引数を与えてレジストリ内に複数環境を作成する事ができる
2) サービスとして登録できる

この二つの機能は、現在の環境(Windows7、Windows8.1)を考えると不向きですし、もともと簡単に実行環境を作る事が目的なので使ってはいけません。

PHP の登録

AN HTTP Serverは、フォルダの参照ができないので、自分でパスをコピーしてペーストしてやる必要があります。そして、PHP の場合は、チェックボックスを必ず二つチェックします。



以下は、php フォルダに置いて実行すると、php-cgi.exe を AnHttpd に自動登録するスクリプトです
' 管理者として実行を強制する
Set obj = Wscript.CreateObject("Shell.Application")
if Wscript.Arguments.Count = 0 then
	obj.ShellExecute "wscript.exe", WScript.ScriptFullName & " runas", "", "runas", 1
	Wscript.Quit
end if

Dim Fs,WshShell

Set WshShell = CreateObject("WScript.Shell")

Const ForWriting = 2
Set Fs = CreateObject("Scripting.FileSystemObject")
strCurPath = WScript.ScriptFullName
Set obj = Fs.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

const HKEY_LOCAL_MACHINE = &H80000002
Set obj = GetObject _
	("winmgmts:\\.\root\default:StdRegProv")
strKeyPath = "SOFTWARE\AnHttpd\default\Progs\Names"
obj.EnumValues HKEY_LOCAL_MACHINE, strKeyPath, arrValueNames, arrValueTypes
nCount = 0
bEntry = false
For Each strValue In arrValueNames
	nCount = nCount + 1
	strValue2 = UCase(strValue)
	if strValue2 = ".PHP" then
		bEntry = true
		Call WshShell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default\Progs\Names\" & strValue,strCurPath & "\php-cgi.exe" )
	end if
Next

if not bEntry then
		Call WshShell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default\Progs\Names\.php",strCurPath & "\php-cgi.exe" )
		Call WshShell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default\Progs\Attrs\.php", 7, "REG_DWORD" )
		Call WshShell.RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default\Progs\Count", nCount+1, "REG_DWORD" )
end if


インデックスを表示させる



これを最初に必ずセットしておきます。


ここから先はお好みで

エイリアスを設定すると、ルート以外を参照可能になります



後は、ログの設定でトレースを出力するようにすると、ファイルのアップロードの際の内部フォーマットを確認できます。必要ならば、CGI 検査を出力するというチェックボックスが一般タブの下のほうにあります。

細かい話で言うと、Apache で動作するバイナリデータの直アップロードとかは動作しないので注意して下さい。さらに、C# とかで作った exe なんかを自作 CGI として動作させる事は可能です。




posted by at 21:29 | 開発用 | このブログの読者になる | 更新情報をチェックする


2017年12月20日


XCOPY 用バックアップスクリプト(VBS) を作成する createBackupScript.vbs / 2回目からは新しいファイルのみバックアップ



ダウンロードした zip の中に createBackupScript.vbs があります。それを実行するだけです。実行すると、以下のディレクトリ選択ダイアログが表示されます。



バックアップ先は、createBackupScript.vbs が存在するディレクトリになります。保存するディレクトリはネットワークドライブ内のディレクトリを指定すると、あちこちに PC の重要なファイルやフォルダを狙い撃ちでバックアップ可能になります。

バックアップはカレントになるので、バックアップ場所を変えたい場合は、createBackupScript.vbs を別の場所へコピーして実行して再びバックアップスクリプトを作成するか、既存のバックアップスクリプトのコピー先のフォルダのパスを変更します。

スクリプトコード内の strTarget の内容は、必要に応じて運用者が解りやすい日本語に変えるといいと思います。

▼ strTarget は、この表示にのみ使用されています


※ ▼ "C:\httpd142p" を指定した結果


時間がかかるのは最初の実行時のみです。2回目からは新しいファイルしかコピーしません。

▼ 最初


▼ 直後にもう一度実行すると


作成されたスクリプトのコード
strName = Replace( UCase(WScript.ScriptName), ".VBS", "" )
strTarget = "C:\httpd142p"
if MsgBox( strTarget & vbCrLf & "のバックアップを開始します。よろしいですか?", 1 ) = 2 then
	Wscript.Quit
end if
Set WshShell = Wscript.CreateObject( "WScript.Shell" )
ExecCommand = "cmd.exe /C ""xcopy.exe ""C:\httpd142p"" ""D:\backup2\httpd\" & strName & "\"" /D /E /C /S /Y & PAUSE"""
Call WshShell.Run( ExecCommand )




▼ 以下概要
------------------------------------------------------------------------

ディレクトリ選択でバックアップするディレクトリを決定し、カレントディレクトリにバックアップする為のスクリプトを作成します。

そのスクリプトを実行すると、カレントに目的のディレクトリをバックアップとしてコピーします。
XCOPY なので、2回目以降は新しいファイルのみコピーします

▼ 使用するオプション
/D : コピー元の日付がコピー先の日付より新しいファイルだけをコピーします
/E : ディレクトリまたはサブディレクトリが空であってもコピーします
/C : エラーが発生してもコピーを続けます
/S : 空の場合を除いて、ディレクトリとサブディレクトリをコピーします
/Y : 既存のファイルを上書きする前に確認のメッセージを表示しません

一番重要なのは、/D です。/S /E で、存在するディリクトリはすべてコピーされます。/E /Y によって、最後まで停止する事なく実行されます。

追加で使う事が想定されるオプション

コピーしたくないディレクトリやファイルがある場合、以下のように指定します。

/EXCLUDE:ファイルのパス

ファイルのパスが示すテキストファイル内に、除外するディレクトリやファイルにある文字列の一部を1 行に 1 つずつ記述します。

その文字列が、コピー対象ファイルの絶対パスの一部と一致した場合、そのファイルはコピーから除外されます。たとえば、"\obj\" という文字列を指定するとディレクトリ obj の下の全ファイルが除外 されます。".obj" という文字列を指定すると .obj という拡張子のファイルがすべて除外されます

' ***********************************************************
' 処理開始
' ***********************************************************
Set Fso = Wscript.CreateObject( "Scripting.FileSystemObject" )
Set Shell = Wscript.CreateObject( "Shell.Application" )

' ***********************************************************
' 実行中ディレクトリの取得
' ***********************************************************
strPath = Wscript.ScriptFullName 
Set objFile = Fso.GetFile( strPath )
strBackupFolder = Fso.GetParentFolderName( objFile )

' ***********************************************************
' バックアップ対象ディレクトリの取得
' ***********************************************************
' マイ コンピュータを基準にディレクトリ選択
Set objFolder = Shell.BrowseForFolder( 0, "バックアップするフォルダを選択してください", &H4B, _
	"::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" )
if objFolder is nothing then
	WScript.Quit
end if
if not objFolder.Self.IsFileSystem then
	WScript.Echo "ファイルシステムではありません"
	WScript.Quit
end if

strTargetFolder = objFolder.Self.Path
strName = Replace( strTargetFolder, ":", "" )
strName = Replace( strName, "\", "_" )
strName = Replace( strName, " ", "" )
strName = "BK_" & strName

' ***********************************************************
' スクリプト作成
' ***********************************************************
Set OutFile = Fso.OpenTextFile( strBackupFolder & "\" & strName & ".vbs", 2, True )

OutFile.WriteLine "strName = Replace( UCase(WScript.ScriptName), "".VBS"", """" )"
OutFile.WriteLine "strTarget = """ & strTargetFolder & """"
OutFile.Write "if MsgBox( strTarget & vbCrLf & ""のバックアップを開始します。"
OutFile.WriteLine "よろしいですか?"", 1 ) = 2 then"
OutFile.WriteLine "	Wscript.Quit"
OutFile.WriteLine "end if"

OutFile.WriteLine "Set WshShell = Wscript.CreateObject( ""WScript.Shell"" )"
OutFile.Write "ExecCommand = ""cmd.exe /C """"xcopy.exe """""
OutFile.Write strTargetFolder & """"" """""
OutFile.Write strBackupFolder & "\"" & strName & ""\"""""
OutFile.WriteLine " /D /E /C /S /Y & PAUSE"""""""
OutFile.WriteLine "Call WshShell.Run( ExecCommand )"

OutFile.Close

WScript.Echo "バックアップスクリプト : " &  strName & ".vbs" & " を作成しました"




タグ:VBScript
posted by at 12:07 | 職人的 Windows | このブログの読者になる | 更新情報をチェックする


2016年12月28日


『しねきゃぷしょん』/ フリーフォント / ダウンロードは Vectorから

2016 年に閉鎖されました。ダウンロードは現在 Vector から可能ですが、少し古いバージョンになります。



最新バージョンは、インターネットアーカイブを chiphead.jp/font/htm/cinecaption.htm で探して 2016 年の最初のほうでダウンロードが可能だと思います。

ダウンロードアーカイブ内の cinecaption2.28.txt より

●配布条件
このフォントは無料ですが著作権は放棄しておりません。
ですのでフォントの改造・著作権表示の改変を禁止します。
再配布に関しては制限を緩和したので、自由に配布していただいてかまいません。

本来の条件として 再配布は可です。

●著作権関係
このフォントのひらがな部分のデザインは「雑念の塊」氏が、カタカナ、漢字、英字、記号部分のデザイン及びフォント作成はchipheadが行いました。

----------------------------------------

お二人の URL がこの後示されていますが、chiphead 氏、雑念の塊 氏 共に閉鎖されています。ただ、『雑念の塊』というハンドルは検索で見つける事ができます。但し、ご本人がどうかは不明です。



posted by at 22:33 | フリーフォント : 不明 | このブログの読者になる | 更新情報をチェックする



弐伍六(ニゴロク)/ フリーフォント

2009 年に閉鎖されていますが、フォントはベクターからダウンロードできます。文字種は少ないので使いどころは少し難しいかもしれません。(漢字数字に特徴があります)



!"#$%&'()* ,-./0123456789
:;<=>?@ABCDEFGHIJKLMN
OPQRSTUVWXYZ[\]^_`{|}~
´¨‐’°†‡μπ
▼ readme フリーなのでご自由にお使いください。 ーーーーーーーーーーーーーーーーーーーーーーーー (著作権について) 著作権は、「256DESIGNs」にあります。 非営利目的の個人での使用は構いませんが商用利用は一度ご連絡ください。 著作者の許可なく販売したり、営利目的の製品に添付する事を固く禁止します。 また、このフォントを使用しておこる、いかなる損害に対しても一切の責任を負いません。 著作者を特定できないので、商用は無理です。
posted by at 22:09 | フリーフォント : 不明 | このブログの読者になる | 更新情報をチェックする


2016年08月13日


Windows ではフォントファイルのヘッダ(OTTO)で otf かどうかの判別が行われているそうです

Windowsではsfnt versionがアスキー文字でOTTO(['0x4f54', '0x544f']に相当)である時のみフォントをCFFとして解析することに注意。



GD の imagettftext で拡張子を .ttf に変更して動作したので、後からどちらのフォーマットなのか確認するのに必要になりました。


関連する記事

「送る」に入れる簡易ダンプ




posted by at 16:16 | フリーフォント | このブログの読者になる | 更新情報をチェックする



サイト(www.cossack.jp)が閉鎖された 『えれーな』というフォントの入手方法


cossack(当時の作者名) 
 再配布不可。 個人だけでなく商用でも自由に利用できる( 当時のサイト内の記述 ) 
 ダウンロードは http://download.forest.impress.co.jp/pub/win/e/elena/elenat.zip で WEBアーカイブで探せば可能

WEBアーカイブ で上記のページを検索すると、2006 年が最終となり、1/16 日のアーカイブでダウンロード可能です。 バックアップをしていなかった場合の対処方法として有効です。
posted by at 15:37 | フリーフォント : 不明 | このブログの読者になる | 更新情報をチェックする


2016年08月11日


なごみ極細ゴシック(Line Font) は『再配布不可』です。

▼ フォント例
なごみ極細ゴシック
Line Font 
 再配布不可。かな文字がオリジナル 
 M+フォントベース
サンプル書体見本
M+フォントベースなので、再配布できると思ってしまいそうになりますが、M+フォントのライセンスがそもそも自由なライセンスなので、派生フォントに制限を加えても良い為、このようなケースも存在します。 フリーフォントで、『再配布不可』という制限は大きく重要な制限で、当然 Webフォントには使えず、イラストAC 等のフリー素材の作成ルールとして『再配布不可のフォントを使用してはならない』というのがあります。良く注意して利用する必要があります ※ 一般的には作者のみなさんは、M+フォントを利用された場合、そのまま同じライセンスで配布されます また、IPAフォントライセンスv1.0 のように、必ず IPAフォントライセンスv1.0 を使用するよう決められているものもあります。
posted by at 20:25 | フリーフォント | このブログの読者になる | 更新情報をチェックする



『よく飛ばない鳥』のフリーフォントに添付されている『フォントのライセンスについて.txt』の要点

▼ フォント例
チェックポイントフォント 
よく飛ばない鳥 (作者名=マルセ) 
 再配布可。Webフォント可。改変しての二次配布不可 
 JIS第一/第二水準+IBM拡張文字
+日本漢字能力検定1級配当漢字(一部を除く)+α(約6,900字)
サンプル
端的には、「字形あるいは著作権表示、もしくはその両方を改変しての二次配布以外は用途に制限を設けておりません」、とあるのでそのままなのですが、もう少し他の記述より内容を明確にしたいと思います。 再配布について クリエイティブ・コモンズ・ライセンスではCC BY-NDに相当します、という記述があります。なので、再配布は可能という事です。 どのようなメディアやフォーマットでも資料を複製したり、再配布できます。 Webフォントについて webフォントとしてのご利用には制約を設けておりませんので、サブセット化やWOFFコンバートは自由となります。 字形の改変とは これも、クリエイティブ・コモンズ・ライセンスではCC BY-ND を参照すると、明瞭になります。
改変禁止 − あなたがこの資料を リミックスし、改変し、あるいはこの資料をベースに新しい作品を作った場合、あなたは改変された資料を頒布してはなりません。
太字、斜体、長体、平体、字間の調整、輪郭線のぼかしなどのフォント利用目的の一般的に想定しうる範囲内でデザイン上の効果を施す行為はその限りでは無いとありますが、基本的にそのようなアレンジはフォントファイル内の情報を変更しなくてもできるので、フォントファイルそのものを改変して配布する行為は NG と思っていいでしょう
posted by at 20:01 | フリーフォント | このブログの読者になる | 更新情報をチェックする



開始時にプロジェクトを開かない / Android Studio の設定( Settings )

▼ プロジェクトが開いてしまったら、閉じます。すると以下のようになるので、『Configure』をクリックします


▼ さらに、『Settings』をクリックします


そうすると、Android Studio の設定ダイアログが表示されるので『Appearance & Behavior』『System Settings』を選択して、『Confirm application exit』をチェックします





posted by at 17:13 | Android Studio | このブログの読者になる | 更新情報をチェックする



Seesaa のブログで超簡単に Twitter カードを使う。超簡単に、記事毎の画像も指定できます。



記事コンテンツの先頭に以下のコードを貼り付けます
<% if:page_name eq 'article' -%>
<meta name="twitter:card" content="summary_large_image" >
<meta name="twitter:image" content="画像のURL" >
<meta name="twitter:site" content="@ユーザ名" >
<meta name="twitter:title" content="<% article.subject | tag_strip %>">
<meta name="twitter:description" content="<% article.body | tag_strip | oneline | text_summary(100) %>">
<% /if -%>

Twitter カードの表示に記事の本文の先頭部分を表示したいので、コンテンツ => 記事 => コンテンツHTML編集 で貼り付けます。ここでの画像は、記事毎の画像を指定しなかった時の画像です。どこかにアップロードしておいて、URL を指定します。

記事毎の画像

Twitter カードでは、後から指定された画像用の META 要素が使用されるようなので、記事毎の画像は記事の先頭に META 要素をそのまま貼り付けます

表示の確認

画像を変更した場合は必ず実行しておきます。

▼ Card validator
https://cards-dev.twitter.com/validator

記事の URL を指定して Preview card ボタンをクリックします








関連する記事

Seesaa ブログで Twitter カードを使用する方法



posted by at 13:17 | WEBサービス | このブログの読者になる | 更新情報をチェックする


2015年05月02日


『新しい Google ドライブ』と『以前の Google ドライブ』の間には OCR 機能の圧倒的な差があります

古い Google ドライブ



新しい Google ドライブ



この数ヶ月様子を見てきましたが、大きな変化も無いので記録も含めて記事にします。そもそも、古い Google ドライブでは、アップロード時に画像をドキュメントに変換するように指定する事で、相当な精度で OCR の機能が働いていましたが、新しい Google ドライブでは、変換こそ、右クリックから『アプリで開く』=>『Google ドキュメント』と簡単になっていますが、OCR の機能はかなり低くなっています。

新聞を写真で撮影し、黒い部分を加工で飛ばして文字が薄くなった状態でも、古い Google ドライブではなんなく文字に変換できますが、新しい Google ドライブでは全く無視されます。

▼ すごい精度!!


単純にキャプチャした文字画像ならは完全に近い形で新しい Google ドライブでも変換してくれますが、それではあまり意味無いと思います。今後まだ進化するのを期待して記録とします。

▼ できてあたりまえ・・・






posted by at 22:05 | WEBサービス | このブログの読者になる | 更新情報をチェックする



Google スプレッドシートを使用したブログ内メニュー

★ このリンクは Google Drive へ直接アクセスします



埋め込みが IFRAME なので、高さは内容に合わせて変更する必要があります。ですから、あらかじめ大きめに設定しておいたほうがいいと思います。

ただ、この場合メニューが目的と言うよりも、ブログ内の情報の全体像を把握すると言う、自己管理用の意味合いのほうが重要で大きいです。

Google ドライブで埋め込みを作成する手順


( 常に最初からアニメーションします )




posted by at 20:54 | WEBサービス | このブログの読者になる | 更新情報をチェックする



Google グループの VirusTotal というサービスは、疑わしいファイルや URL を分析する無料のサービス

ファイルをアップロードして、世の中にある検査ソフト総出でウイルスチェックするサービスです。

VirusTotal

▼ Wikipedia
2012年9月7日にGoogle Inc.がVirusTotalをHispasecから買収した

フリーソフトはとにかくチェック!!

どんなファイルであれ、実行可能なものであれば一応チェックしておけば安心して作業を進める事ができます。

スキャンを開始しても、過去に既にスキャン済みのものは、経過時間と結果を表示して再度スキャンするかを尋ねられます。もちろん殆どの場合再スキャンするわけですが、他の人が行ったスキャン結果でも安心できるし、経過時間でそのソフトの人気度も推測できるというものです。

URL 先のチェック

WEBメールに来る、見るからにアウトな中にある URL を、デベロッパーツール( F12 ) で取り出してチェックすると見事にアウトでした。





ちなみに、『トレンドマイクロ オンラインスキャン』でダウンロードされる『Onlinescan.exe』もスキャンしてみました。そんな人多いみたいです。




posted by at 20:31 | WEBサービス | このブログの読者になる | 更新情報をチェックする



Google がホスティングしている jQuery を使用して、jQuery UI の Spinner のボタン部分だけを使う方法

Hosted Libraries( Google ) は、有名な JavaScript のライブラリの各バージョンをホスティングしてくれているので、いつでもどこでも好きな時に利用する事ができます。

以下は直訳ですが、Google の翻訳です。
Googleのホストされているライブラリは安定した、信頼性の高い、高速、JavaScriptのライブラリで最も人気のある、オープンソースのグローバル使用可能なコンテンツ配信ネットワークです。Googleは、各ライブラリの努力のための主要な利害関係者と直接連携し、それらがリリースされる最新バージョンを使用できます。
jQuery の場合便利なのは、CSS も同時に用意してくれているところです。以下でも利用(black-tie)していますが、テーマのタイプもそこにあれば使えるので試してみるといいと思います。 ※ Spinner は、押し続けても使えるのでとても便利なコントロールです 以下は実際の記事上でのデモ実行
▼ この下に、Spinner 用の テキストフィールドがありますが非表示にしています
y
Spinner は通常では上のように縦になります

▼ この下の Spinner 用のフィールドは SPAN 要素で挟んでいます
x
SPAN 要素に対して回転する CSS を適用して横表示にしています

x y
x y

以下は記事内にある実際のソースコードです
<script>
// jQuery が無い場合は、Google がホスティングしているライブラリをロードする
if ( !window.jQuery ) {
	if ( typeof window[window.location.hostname+'.loadjQuery'] === 'undefined' ) {
		if ( window.addEventListener ) {
			window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js';
		}
		// *************************************
		// 古い IE に気を使う
		// *************************************
		else {
			window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js';
		}
	}
	document.write("<"+"script src=\"" + window[window.location.hostname+'.loadjQuery'] + "\"></"+"script>");
}
</script>
<script>
// jQuery UI が無い場合は、Google がホスティングしているライブラリをロードする
if ( !jQuery.ui ) {
	document.write("<"+"link rel=\"stylesheet\" href=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/black-tie/jquery-ui.css\">");
	document.write("<"+"script src=\"//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js\"></"+"script>");
}
</script>
<script>
// *************************************
// jQuery の ページロード時の処理
// *************************************
$(function(){
	$( "#spinner1" ).spinner({
		spin: function( event, ui ) {
			// *************************************
			// $(this).val() は、変化する前の値
			// ui.value は変化した後の値
			// *************************************
			var val = $(this).val()-ui.value;
			// ▲ をクリックするか押し続けると処理されます
			if ( val < 0 ) {
				$( ".y" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットしてマイナス1
					$(this).val( (parseInt($(this).val())||0)-1 );
				});
			}
			// ▼ をクリックするか押し続けると処理されます
			else {
				$( ".y" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットしてプラス1
					$(this).val( (parseInt($(this).val())||0)+1 );
				});
			}
		}
	})
	// 入力部分を使わないので、最小のサイズにして、高さをセット
	.css({ 
		width: "0px",
		"font-size": "0px",
		height: "30px"
	 })
	.show();

	$( "#spinner2" ).spinner({
		spin: function( event, ui ) {
			var val = $(this).val()-ui.value;
			// ▲ をクリックするか押し続けると処理されます
			if ( val < 0 ) {
				$( ".x" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットする
					$(this).val( (parseInt($(this).val())||0)+1 );
				});

			}
			// ▼ をクリックするか押し続けると処理されます
			else {
				$( ".x" ).each(function(){
					// 数字以外が設定されているフィールドは 0 にリセットする
					$(this).val( (parseInt($(this).val())||0)-1 );
				});
			}
		}
	})
	// 入力部分を使わないので、最小のサイズにして、高さをセット
	.css({ 
		width: "0px",
		"font-size": "0px",
		height: "30px"
	 })
	.show();

});

</script>
<style type="text/css">
/* 対象範囲内の Spinner の表示調整 */
#spinner_box .ui-spinner-button {
	width: 100%!important;
}
#spinner_box .ui-icon {
	left:4px!important;
}

/* 左右にアイコンの向きを配置する */
.rotate_wrap {
	display: inline-block;	/* 回転する為に行内ブロック化 */
	transform: rotate(90deg); /* 回転 */
	margin-left: 10px; /* 表示位置調整 */
}

/* 表示フィールド用 */
.x, .y {
	width:50px;
}
</style>
<div id="spinner_box">
▼ この下に、Spinner 用の テキストフィールドがありますが非表示にしています<br>
y <input id="spinner1" style='display:none;' value="0"><br>
Spinner は通常では上のように縦になります<br><br>

▼ この下の Spinner 用のフィールドは SPAN 要素で挟んでいます<br>
x<span class="rotate_wrap"><input id="spinner2" style='display:none' value="0"></span><br>
SPAN 要素に対して回転する CSS を適用して横表示にしています

<br><br>
x <input type="text" class="x"> y <input type="text" class="y"><br>
x <input type="text" class="x"> y <input type="text" class="y"><br>

</div>
ブログ記事で使うにあたって、jQuery を使う記事だけでロードするようにしてあります。



posted by at 15:07 | JavaScript | このブログの読者になる | 更新情報をチェックする


2015年05月01日


職人的 GifCam の使い方 : VBScript で開始と停止のショートカットを作成する



まず、GifCam は、作者さんのサイトからダウンロードして下さい。



そこで、赤く書いてありますが、他のところからだとマルウェア等が含まれている場合が多々あるようです。それと、たとえオリジナルであっても、フリーソフトは今時では 疑わしいファイルや URL を分析する VirusTotal でチェックするといいと思います。

VirusTotal はGoogle グループのサービスなんで安心してバンバン使うといいと思います。

GifCamは、ショートカットキーが無いので

自作しました。GifCam はアクティブな場合は、スペースキーでその時選択されているボタンを実行します。ですから、VBScript で起動して、プロセスID を取得して、ショートカットで VBScript を実行させるようにして、ショートカットをデスクトップに置いて『ショートカットキー』を登録しておくわけです。

そうすると、(ここでは CTRL+F2 ですが ) Rec を起動したり止めたりする事が可能になります。

▼ GifCam ショートカット



GifCam_as.vbs
Set Fso = CreateObject( "Scripting.FileSystemObject" )

strCurPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

Set ReadFile = Fso.OpenTextFile( strCurPath & "\ProcessID.txt", 1 )
strProcessID = ReadFile.ReadLine
ReadFile.Close

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.AppActivate CLng(strProcessID)

WScript.Sleep 100

WshShell.SendKeys " "

ProcessID は、ProcessID.txt に入っています。ここにセットするのは、GifCam_exec.vbs の役目になります。

GifCam_exec.vbs
Set Fso = CreateObject( "Scripting.FileSystemObject" )

strCurPath = WScript.ScriptFullName
Set obj = Fso.GetFile( strCurPath )
Set obj = obj.ParentFolder
strCurPath = obj.Path

Set WshShell = WScript.CreateObject("WScript.Shell")
Set oExec = WshShell.Exec( strCurPath & "\GifCam.exe" )

WScript.Sleep 100

Set OutFile = Fso.OpenTextFile( strCurPath & "\ProcessID.txt", 2, True )

OutFile.WriteLine oExec.ProcessID
OutFile.Close

GifCam.exe と、二つのスクリプトは全て同じディレクトリに置いて、デスクトップにその 二つのVBScript を起動する為のショートカットを作成(wscript.exe の引数としてフルパスでスクリプトを書きます)して、GifCam_as.vbs のショートカットには『ショートカットキー』を登録しておいたら準備完了です

GifCam_exec.vbs のショートカットで GifCam を起動して作業を始めて下さい。


posted by at 23:28 | 運用 | このブログの読者になる | 更新情報をチェックする


2014年10月11日


powercfg.exe でシステムの電源設定の管理

現在使用している設定の確認
C:\Users\lightbox>powercfg.exe -l

既存の電源設定 (* アクティブ)
-----------------------------------
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス) *
電源設定の GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (高パフォーマンス)
電源設定の GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (省電力)
▼ powercfg.exe -q 381b4222-f694-41f0-9685-ff5bb260df2e で全ての一覧を出し、スリープに関する GUID を取得して表示する スリープの電源設定の内容を表示
C:\Users\lightbox>powercfg.exe -q 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス)
  サブグループの GUID: 238c9fa8-0aad-41ed-83f4-97be242c8f20  (スリープ)
    電源設定の GUID: 29f6c1db-86da-48c5-9fdb-f2b67b1f44da  (次の時間が経過後スリープする)
      利用可能な設定の最小値: 0x00000000
      利用可能な設定の最大値: 0xffffffff
      利用可能な設定の増分: 0x00000001
      利用可能な設定の単位: 秒
    現在の AC 電源設定のインデックス: 0x00000708
    現在の DC 電源設定のインデックス: 0x00000384

    電源設定の GUID: 94ac6d29-73ce-41a6-809f-6363ba21b47e  (ハイブリッド スリープを許可する)
      利用可能な設定のインデックス: 000
      利用可能な設定のフレンドリ名: オフ
      利用可能な設定のインデックス: 001
      利用可能な設定のフレンドリ名: オン
    現在の AC 電源設定のインデックス: 0x00000000
    現在の DC 電源設定のインデックス: 0x00000001

    電源設定の GUID: 9d7815a6-7ee4-497e-8888-515a05f02364  (次の時間が経過後休止状態にする)
      利用可能な設定の最小値: 0x00000000
      利用可能な設定の最大値: 0xffffffff
      利用可能な設定の増分: 0x00000001
      利用可能な設定の単位: 秒
    現在の AC 電源設定のインデックス: 0x00000000
    現在の DC 電源設定のインデックス: 0x00000000

    電源設定の GUID: bd3b718a-0680-4d9d-8ab2-e1d2b4ac806d  (スリープ解除タイマーの許可)
      利用可能な設定のインデックス: 000
      利用可能な設定のフレンドリ名: 無効
      利用可能な設定のインデックス: 001
      利用可能な設定のフレンドリ名: 有効
    現在の AC 電源設定のインデックス: 0x00000001
    現在の DC 電源設定のインデックス: 0x00000001
元々、他の設定によりスリープを使用しないようになっていますが、設定値の変更は可能です。 ▼ control.exe powercfg.cpl,,3 で表示されます AC 電源設定の『次の時間が経過後スリープする』を 0 に設定する ( これはダイアログから設定するのと同じ結果になります )
C:\Users\lightbox>powercfg.exe -SETACVALUEINDEX 381b4222-f694-41f0-9685-ff5bb260df2e 238c9fa8-0aad-41ed-83f4-97be242c8f20 29f6c1db-86da-48c5-9fdb-f2b67b1f44da 0
電源設定の GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (バランス)
  サブグループの GUID: 238c9fa8-0aad-41ed-83f4-97be242c8f20  (スリープ)
    電源設定の GUID: 29f6c1db-86da-48c5-9fdb-f2b67b1f44da  (次の時間が経過後スリープする)
      利用可能な設定の最小値: 0x00000000
      利用可能な設定の最大値: 0xffffffff
      利用可能な設定の増分: 0x00000001
      利用可能な設定の単位: 秒
    現在の AC 電源設定のインデックス: 0x00000000
    現在の DC 電源設定のインデックス: 0x00000384
スリープには二つの状態があります 1) スタンバイ : メモリ上にデータを置いて停止 2) 休止 : HD上にデータを置いて停止( 電源を切る ) ファイル名を指定して実行から、gpedit.msc を実行し、グループポリシーエディタで『スタンバイ状態を許可する』を有効にすると、スリープの設定にスタンバイの設定が表示されます( 設定: なしというのは、powercfg.exe で 0 に設定した結果です ) ハイブリッドスリープを許可しないようにするには、グループポリシーエディタで『ハイブリッドスリープをオフにする』を有効にします。 つまり、『スタンバイ状態を許可する』を有効にして、『ハイブリッドスリープをオフにする』を有効にすると、完全な休止状態のみが可能になりますが、powercfg.exe の表示からも確認できるように、『次の時間が経過後休止状態にする』という機能は実行されないようになっています。
    電源設定の GUID: 9d7815a6-7ee4-497e-8888-515a05f02364  (次の時間が経過後休止状態にする)
      利用可能な設定の最小値: 0x00000000
      利用可能な設定の最大値: 0xffffffff
      利用可能な設定の増分: 0x00000001
      利用可能な設定の単位: 秒
    現在の AC 電源設定のインデックス: 0x00000000
    現在の DC 電源設定のインデックス: 0x00000000
休止を設定するには、powercfg.exe -h on で休止可能にして control.exe powercfg.cpl,,3 で表示されるダイアログから時間設定を行います。 powercfg.exe -h off で設定ダイアログには表示されなくなります。 powercfg.exe -h on で休止可能にして、powercfg.exe -h -size 100 とすると、休止用のファイルを最大サイズで作成します( 50 以上が必要 )。また、このコマンドを実行するには、コマンドプロンプトを管理者権限で起動しておく必要があります。
posted by at 22:01 | 職人的 Windows | このブログの読者になる | 更新情報をチェックする


2014年10月10日


「送る」に入れる簡易ダンプ

インストール

ダウンロードした、sendto_dump.zip を解凍して、setup.bat をエクスプローラからダブルクリックしてインストールして下さい







Q		終了します。
space	次ページを表示します。
ret		次の行を表示します。
リンク先の 35 という数字はコマンドプロンプトに一度に表示する行数です( 変更可能ですが、再インストールすると元へ戻るので注意して下さい ) ショートカットを直接実行すると、以下のようなダイアログが出ます ▼ readme.txt
インストール先は、Program Files フォルダがあるドライブにlaylaClass というフォルダを作成して、その中に send_dump というフォルダを作成してインストールします。中には、以下の二つの実行用スクリプトがコピーされます。

dump.vbs
dump_c.vbs

アンインストールは、send_dump フォルダごと全て削除して、エクスプローラのアドレスに sendto と入力して SendoTo  フォルダに移動し、『簡易ダンプ』という名前のショートカットを削除すると元に戻ります。

laylaClass というフォルダも必要なければ削除して下さい


簡易ダンプ ショートカットのプロパティの『リンク先』の中の最後の数字は、コマンドプロンプトで一度に表示する行数です。
posted by at 20:12 | その他 | このブログの読者になる | 更新情報をチェックする


2014年09月28日


現在TTCの分割は、UniteTTC / => 旧タイトル : BREAKTTC.EXE をダウンロードして .TTC を .TTF に分解する自動スクリプト

現在使えるのは、UniteTTC です
UniteTTC は、ごく普通に TTC を分割してくれます。実際に動作確認済みです。

▼ 以下 Readme より
コマンドラインから、以下のようにして下さい。

UniteTTC From.TTC

なお、TTC化されたTTFフォントは、元のファイル名が不明なため、TTCフォントの拡張子以外の部分に連番001、002、003、……を付加し、拡張子をTTFに変えたものが使われます。上記の例ですと、From001.TTF、From002.TTF、From003.TTF……という名前で出力されます。適当な名前にリネームしてお使い下さい。
BREAKTTC.EXE は今でもダウンロード可能です エクセルソフトでも、http://www.xlsoft.com/jp/products/indigorose/autoplay_readme_02.html でダウンロードリンクを用意していますが、よく解らない海外サイトへ移動します。しかし、Internet Archive で、http://www.xlsoft.com/jp/products/indigorose/autoplay_readme_02.html を検索すると、古い日時でダウンロード可能なページがあります。あるいは、http://www.xlsoft.com/jp/products/indigorose/files/ttsdk.zip を同じくアーカイブから検索しても同じものがダウンロードできました。 ▼ 以下、古い情報--------------------------------------------------------------------- 手作業で行う方法は以前以下に書いたのですが、とても処理が限定的なので その為だけに時間を使うのももったい無いので、スクリプトを作成しました msgothic.ttc を分解し、3種類の ttf を作成して利用する方法 BREAKTTC.EXE は、昔 Microsoft で配布されていたプログラムらしいのですが、 現在はエクセルソフトさんからダウンロードできます。エクセルソフトさんは、 PrimoPDF でお世話になっていますし、このリンクも長い間有効なので自動ダウン ロードさせてもらっています。仮に、エクセルソフトさんのほうで配布されなく なった場合、代替えとして UniteTTC というソフトが同様の機能を持つ事を 確認しています。 ( そちらで結合もできますし、フォントの作者さんなので間違い無いと思います ) ※ UniteTTC の場合は、元のファイルがある場所に分解してしまうのが少しやっかいです
<JOB>
<COMMENT>
************************************************************
■ BREAKTTC.EXE をダウンロードして .TTC を TTF に分解する

■ 著作権その他

このプログラムはフリーです。どうぞ自由に御使用ください。
著作権は作者である私(lightbox)が保有しています。
また、本ソフトを運用した結果については、作者は一切責任を
負えせんのでご了承ください。
************************************************************
</COMMENT>

<COMMENT>
************************************************************
 外部スクリプト定義
************************************************************
</COMMENT>
<SCRIPT
	language="VBScript"
	src="http://homepage2.nifty.com/lightbox/laylaClass.vbs">
</SCRIPT>

<SCRIPT language=VBScript>
' ***********************************************************
' 処理開始
' ***********************************************************
Call laylaFunctionTarget( "http://homepage2.nifty.com/lightbox/" )
Call laylaLoadFunction( "baseFunction.vbs" )
Call laylaLoadFunction( "toolFunction.vbs" )


' ***********************************************************
' 対象
' ***********************************************************
strTarget = "ttsdk.zip"
strTTCTarget = "MSGOTHIC.TTC"


' ***********************************************************
' Cscript.exe の実行
' ***********************************************************
Crun2 80

if not OkCancel( "BREAKTTC.EXE をダウンロードして .TTC を TTF に分解する処理を実行してもよろしいですか?" ) then
	Wscript.Quit
end if

' ***********************************************************
' ダウンロードする URL
' ***********************************************************
strDownloadPlace = "http://www.xlsoft.com/jp/products/indigorose/files/" & strTarget
ret = HTTPDownload( strDownloadPlace, TempDir & "\" & strTarget )
if not ret then
	Wscript.Echo ErrorMessage
	Wscript.Quit
end if

Wscript.Echo strDownloadPlace & " をダウンロードしました"

' ***********************************************************
' 解凍ソフトのダウンロード
' ***********************************************************
strDownloadPlace = "http://homepage2.nifty.com/lightbox/Lhasa.exe"
ret = HTTPDownload( strDownloadPlace, TempDir & "\Lhasa.exe" )
if not ret then
	Wscript.Echo ErrorMessage
	Wscript.Quit
end if

Wscript.Echo strDownloadPlace & " をダウンロードしました"

' ***********************************************************
' 解凍
' ***********************************************************
strCommand = Dd( TempDir & "\Lhasa.exe" ) & " -d- -a -q -f -e- " & Dd(TempDir & "\" & strTarget )
RunSync(strCommand)

' ***********************************************************
' フォント分解
' ***********************************************************
strFontsDir = GetSpecialFolder("Fonts")
strExe = Dd(TempDir & "\ttsdk\TTC\BREAKTTC.EXE")
strFont = Dd(strFontsDir & "\" & strTTCTarget)
strCommand = strExe & " " & strFont
Wscript.Echo "フォント分解を開始します"
RunSync2(strCommand)
Wscript.Echo "フォント分解を終了しました"

' ***********************************************************
' 処理終了
' ***********************************************************
MsgOk( "処理が終了しました   " )

</SCRIPT>

</JOB>

zip の解凍は、Lhasa.exe を SQLの窓の関連サイトでホスティングして
ダウンロードして使っています。

スクリプトで使用している関数は、SQLの窓の関連サイトでホスティングしています



タグ:VBScript
posted by at 11:24 | その他 | このブログの読者になる | 更新情報をチェックする


2014年09月27日


Chrome 拡張で選択部分を翻訳 :『instant translate』/『Auto-Translate』は削除されています

更新履歴
2014-09-27 :
instant translate がバージョンアップされて、settings がかなり変わっていました。
時期は不明ですが、Auto-Translate は削除されています。
2013-07-10 : 
Auto-Translate がエラーの為、代替えとして instant translate を紹介
2013-09-03 : 
Auto-Translate が正常に動くようになっていたので更新
instant translate ( 右クリックしてコンテキストメニューからも翻訳可能です ) 最新の仕様では、初期状態では SHIFT キーを押して翻訳ウインドウが開くようになっています。しかし、settings で元に戻せるので戻したほうがいいと思います。理由は、テキスト編集時に選択処理をする時に SHIFT キーを使ったとたん翻訳ウインドウが開いてしまいました。 オプションの最後に、『統計情報を収集する事に同意する』というような事が書かれていますので disable にするといいと思います。 本文を Google 翻訳に転送して翻訳するようにするオブションもあります。 オプションボタン クリックするとウインドウが開き、右上の歯車アイコンで settings に移動し、左上の時計アイコンで翻訳履歴のウインドウに移動します。 履歴は、残さないように settings で設定可能です。(時計アイコンが非表示になります) 関連する記事 Google Chrome 拡張の『instant translate』という翻訳機能の翻訳ウインドウを大きくする ▼ 『Auto-Translate』-------------------------------------------------------- 『Auto-Translate』は削除されています 最近の翻訳は、特に問題無く英文の概要くらいはすぐ解るくらいの精度がありますが、選択部分のみを欲しい時だけキー操作で翻訳するというのは、運用していてとても便利だと思いました。 設定方法 このソフトはもともとが日本語では無いので、『設定』が一番のハードルで、解らないとがっかりする事になります。そのへんの部分は全く下のようにしていただくと満足できると思います。
この設定では、ドラッグして選択した後、CTRL キーを押しながらドラッグを解除すると、ポップアップに翻訳内容が表示されます。これがおすすめです。
翻訳重視の設定 この設定では、選択すれば必ず翻訳されます。ですから、単語に合わせてダブルクリックだと即座に単語の意味を知る事ができます。( 長文は普通に選択 ) 単語重視の設定 この設定をすると、マウスカーソルを持っていった下にある単語の意味が表示されます。 Second の意味 例では、English になっていますが、First が日本語なので、日本語で操作を行うと英語に翻訳されます。 複数設定 設定画面の右上からプラスボタンで設定を追加する事ができ、その場合は、上から From を判断して行くようです。 その他 設定状態によりますが、テキストエリアでも翻訳可能で、キー操作で選択していても、後でクリックしてやれば翻訳ウインドウが開いたりします。 『Auto-Translate』 Google Chrome 翻訳拡張 - NAVER まとめ
posted by at 11:59 | ブラウザ | このブログの読者になる | 更新情報をチェックする


2014年06月20日


dump.bat ( VBScript による昔懐かしい dump プログラム )



解凍して dump.batdump4cscript.vbs と言う二つのファイルをパスの通ったフォルダへ保存するだけで利用できます。『dump ファイルのパス』 で昔ながらのダンプ表示を標準出力に出力します。ファイル化したい場合はリダイレクトするだけです。

C:\Users\lightbox>dump "C:\user\lightbox\vbs\dump\dump\dump4cscript.zip"
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

          0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
--------------------------------------------------------------------------
00000000 50 4B 03 04 0A 00 00 00 00 00 83 02 D4 44 AE 6D  PK........・ヤDョm
00000010 95 EE 54 00 00 00 54 00 00 00 08 00 00 00 64 75  俸T...T.......du
00000020 6D 70 2E 62 61 74 40 65 63 68 6F 20 6F 66 66 0D  mp.bat@echo off.
00000030 0A 66 6F 72 20 2F 66 20 25 25 69 20 69 6E 20 28  .for /f %%i in (
00000040 22 64 75 6D 70 34 63 73 63 72 69 70 74 2E 76 62  "dump4cscript.vb
00000050 73 22 29 20 64 6F 20 28 20 63 73 63 72 69 70 74  s") do ( cscript
00000060 2E 65 78 65 20 22 25 25 7E 24 50 41 54 48 3A 69  .exe "%%~$PATH:i
00000070 22 20 22 25 31 22 20 29 0D 0A 50 4B 03 04 14 00  " "%1" )..PK....
00000080 00 00 08 00 72 00 D4 44 90 7F 61 6C B2 04 00 00  ....r.ヤD・alイ...
00000090 8A 0C 00 00 10 00 00 00 64 75 6D 70 34 63 73 63  ・......dump4csc
000000A0 72 69 70 74 2E 76 62 73 AD 96 47 CF D3 40 10 86  ript.vbsュ萌マモ@..
000000B0 CF 89 94 FF 30 F2 01 1C 08 9F 12 3A 12 20 52 05  マ鉛.0....・:. R.
000000C0 22 74 10 48 48 A0 90 6C 12 03 B1 23 C7 A1 1C B1  "t.HH.人..ア#ヌ。.ア
000000D0 4F 54 51 C5 0D 89 DE 7B EF BD F7 DE CB 89 72 83  OTQナ.迦{.ス.゙ヒ詠
000000E0 23 37 DE DD 75 09 84 00 02 2C 3D C9 EE EC EC EC  ・7゙ンu....,=ノ....
000000F0 EC EC EC D8 19 AD 46 B9 46 6C 82 65 B2 42 2D 12  ...リ.ュFケFlFイB-.
          0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
--------------------------------------------------------------------------
00000100 9E C0 2C 74 69 08 A5 D1 B7 D8 98 19 33 59 D1 52  楝,ti.・ムキリ・3YムR
00000110 49 99 50 34 B5 BA A5 E9 95 AE 9C 36 9B 4D 98 DF  I儕4オコ・髟ョ・娥倚
00000120 B0 58 4D 0E 2A 14 8D 84 23 E1 EE D4 E3 2F 1E 3E  ーXM.*.剛#碚ヤ・.>
00000130 CF B1 9C 61 4E DA 59 6C 7F B6 C7 DA 93 96 6B CB  マア彗NレYl.カヌレ当kヒ
dump.bat
@echo off
for /f %%i in ("dump4cscript.vbs") do ( cscript.exe "%%~$PATH:i" "%1" )



posted by at 00:34 | 自作 | このブログの読者になる | 更新情報をチェックする


2014年03月01日


ユーザーアカウントの設定 : rundll32.exe netplwiz.dll,UsersRunDll / 管理者権限と管理者ツール

コマンドライン : 

Windows 7





この詳細設定タブの詳細設定ボタンを使うには、一般的にはこのダイアログを『管理者権限』で実行している必要がある為、簡単な方法としては、スタートメニューのプログラムとファイルの検索のフィールドに taskmgr と入力して CTRL と SHIFT を押しながら ENTER を押して、taskmgr.exe を管理者権限でまず実行させます。

その後、ファイルメニューから『新しいタスクの実行』を選択し、『新しいタスクの作成』ダイアログから『このタスクに管理者特権を付与して作成します』をチェックして rundll32.exe netplwiz.dll,UsersRunDll を入力して実行します。



taskmgr のかわりに cmd と入力して管理者権限でコマンドプロンプトを開いてもいいですが、『新しいタスクの作成』ダイアログでは、『ファイル名を指定して実行』ダイアログと同じ履歴が表示されるので便利です

▼ 詳細設定ボタンで起動される Windows 用管理アプリケーション


同様のツールを以下から実行できます



『コンピュータの管理( CompMgmtLauncher.exe )』は、管理者が行う処理の総合ツールです。このツールの『ローカル ユーザとグループ』がそれに当たります。



このツールは、デスクトップに『コンピュータアイコン』を表示するようにしている場合、右クリックで表示されるメニューの中の『管理』から呼び出されるものと同じです

▼ デスクトップアイコンの設定ダイアログの表示

コマンドライン : 


VBScript で直接ダイアログを表示

▼ 管理者権限で即起動されます
Set obj = CreateObject("Shell.Application")
obj.ShellExecute "rundll32.exe", "netplwiz.dll,UsersRunDll", "", "runas", 1

Windows 8.1について



Windows 8.1 は、起動後、左下隅にカーソルを持って行くと表示される Windows ロゴを右クリックするとメニューが表示され、そこに『タスクマネージャ』があるので実行すると、最初は小さなウインドウが表示されます。



この場合、何か一つでもアプリケーションが実行されていると(ここでは Google Chrome)、そこを右クリックするとメニューが表示されて、『新しいタスクの実行』ダイアログを表示する事ができます。Windows 8 では、最初から『このタスクに管理者特権を付与して作成します』チェックボックスが存在するのでこれを使います。



何も実行中のアプリケーションが無い場合は、左下の『詳細』ボタンでメニューのある画面に切り替わります




Windows XP









posted by at 13:30 | 職人的 Windows | このブログの読者になる | 更新情報をチェックする


2014年02月28日


IE拡張 : ページ上の画像を使用したHTML作成



WSH の VBScript で作成された IE拡張のインストーラです( ie_img_rebuild_140228.wsf )。

C:\Users\ユーザ名\AppData\Roaming に laylaClass フォルダを作成してインストールします。

アンインストールは、同梱の ie_img_rebuild_uninstall.wsf を実行します。

同梱の regopen_ie_menuex.vbs を実行すると、インストールされたレジストリ部分を選択して、レジストリエディタを開きます。



実行時の状態( IE11 )



● 何もキーを使わずに実行すると、以下のようなコードを取得できます
<img src="http://winofsql.jp/image/winofsql.png" style='border:solid 1px #000000' >
● SHIFT キーを押しながら実行すると、1px が 0px になって、枠線を引きません
● CTRL キーを押しながら実行すると、画像の URL のみを取得します
● SHIFT キーと CTR キーを同時に押しながら実行すると、現在の HTML を取得します

※ alt と title はあれば再度取得します



posted by at 21:52 | ブラウザ | このブログの読者になる | 更新情報をチェックする


2013年12月07日


WMI Query : 対象キーワードの一覧より、情報を確認する為の HTA ツール



相当前に作成したソフトを少し手を入れて簡単な整備をしました。誰でも簡単にコンピュータの情報を取得する事ができます。

Query には、一般的な SQL が使えますが、正式なドキュメントは以下にあります。

Querying with WQL
WQL (SQL for WMI)

▼ Query 実行


▼ 一覧表示


▼ Excel に貼り付けて幅を自動整列させたものです




posted by at 22:45 | その他 | このブログの読者になる | 更新情報をチェックする


2013年11月08日


Auto-Translate(Chrome 拡張) に価格比較オプション(Superfish)が追加されているので、『使わない』ように設定します

Auto-Translate は、削除されています。

同等以上の機能を持つ instant translate が便利です

Chrome 拡張で選択部分を翻訳 :『instant translate』/『Auto-Translate』は削除されています



▼ 古い記事です
インストール時に以下のような表示がされたと思います。



これは、海外における、各ショッピングサイトをサーフィンして価格を比較する機能らしいのですが、そもそも必要無いのにデフォルトで使用するようになっていて、画像と比較して広告のようなコンテンツを画像の下に表示するので注意して下さい。

オプションのチェックを外すだけで OK です。




posted by at 20:09 | 古い記事(保存用) | このブログの読者になる | 更新情報をチェックする


2013年05月05日


Windows フォトビュアーのコマンドラインからの使用方法

rundll32.exe "C:\Program Files\Windows Photo Viewer\PhotoViewer.dll",ImageView_Fullscreen ファイルのパス

ファイルのパス の部分は、"ファイルのパス" としないようにする必要があります。"" で囲ってしまうと、正しく実行されません。
rundll32.exe "C:\Program Files\Windows Photo Viewer\PhotoViewer.dll",ImageView_Fullscreen

関連する WEB サイトの記事

.net - How to run Photoviewer.dll in command line - Stack Overflow

どうしても、ダブルクォートが付加されるような場合は、以下のスクリプト(pv.vbs)を使って wscript.exe pv.vbs "ファイルのパス" として実行するといです。
Set WshShell = WScript.CreateObject("WScript.Shell")

strTarget = Replace(Wscript.Arguments(0),"""","")

WshShell.Run( "rundll32.exe ""C:\Program Files\Windows Photo Viewer\PhotoViewer.dll"",ImageView_Fullscreen " & strTarget )




posted by at 01:00 | 職人的 Windows | このブログの読者になる | 更新情報をチェックする


2013年05月04日


FileZilla 関連記事と再確認

ダウンロード

【2012年05月04日】
FileZilla FTP クライアントのサーバー情報の引っ越し作業

【2011年04月23日】
WEB 上のファイルに使用できる文字と FileZilla

【2010年03月21日】
FileZilla で直接 APPE コマンドを実行して空のファイルを新規で作成する

【2010年01月06日】
VBS : FileZilla用誰にでも使える拡張子ランチャー

【2010年01月06日】
FileZillaクライアント運用中。めちゃめちゃ便利。

【2009年11月20日】
FileZilla:SFTPとFTPSが使えて、別サーバをタブ表示できて、サーバ内をツリー表示できて、下階層全て検索できて、ブックマークに名前が付けれるFTPクライアント

【2009年11月20日】
FileZilla Client ( SFTPの利用 )
過去にいろいろ記事を書いて来ましたが、とても古いものものあります。PC を新しくしたので FileZilla のインストールを再度しながらいろいろ再確認してみたいと思います。 まず、最新バージョン 実際の stable version は FileZilla Client is 3.6.0.2 でしたが、3.7.0 のリリースも近いうちだと思います。3.7.0 の解りやすい内容の変更は以下のようなものでした。 ❶ 設定ダイアログの[更新]ページの使いやすさの向上 ❷ SFTPのパフォーマンスを向上 ❸ ファイルを編集するときは、転送に高い優先順位を使用 引越し作業 自分の書いた記事を元に、引越し作業です。sitemanager.xml(C:\Users\ユーザー名\AppData\Roaming\FileZilla) を持ってくるだけで問題なく接続しました。 エディタ(ビュアー)の設定 自分は TeraPad を使って運用しています。他のファイルを( 例えば画像 ) を見るというような事はしないのでとりあえずこれで十分です。 エディタのパスにスペースが含まれていないので、ダブルクォートで囲んで無いですが、FileZilla の但し書きにあるように適宜使用する必要があるはずです。 他の拡張子は以前記事で、スクリプトを使ってやっていました。今回、FileZilla 側で設定を試したのですが、Windows の PhotoViewer を使ったり、場合によって他のソフトを使ったりうまく使うにはやはりスクリプトでするのが良いようです。 ImageViewer のコマンドライン利用に関する記事 .net - How to run Photoviewer.dll in command line - Stack Overflow (この記事の二つ目の回答を使用しています。/ 最後のファイルのパスはダブルクォートを使ってはいけません )
Set WshShell = WScript.CreateObject("WScript.Shell")

Dim aData,strExt,strExe
strExt = ""
aData = Split( Wscript.Arguments(0), "." )
if Ubound( aData ) > 0 then
	strExt = UCase( aData( Ubound( aData ) ) )
end if

' 拡張子別エディタ
if strExt = "JPG" then
	PhotoViewer
	Wscript.Quit
end if
if strExt = "JPEG" then
	PhotoViewer
	Wscript.Quit
end if
if strExt = "PNG" then
	PhotoViewer
	Wscript.Quit
end if
if strExt = "GIF" then
	PhotoViewer
	Wscript.Quit
end if

' このスクリプトを使う人にとってのデフォルトのエディタ
strExe = "C:\laylaClass\tpad109\TeraPad.exe"
RunExt( strExe )

Function RunExt( path )

	WshShell.Run( """" & path & """" & " " _
		& """" & Wscript.Arguments(0) & """" )

End Function

Function PhotoViewer()

	WshShell.Run( "rundll32.exe ""C:\Program Files\Windows Photo Viewer\PhotoViewer.dll"",ImageView_Fullscreen " _
		& Wscript.Arguments(0) )

End Function

ファイルの新規作成

右クリックから実行できるようになっていました。以前、APPE コマンドで実行してたりしましたが、とても不安定で使い物にならないので空ファイルをアップロードしていましたが、これなら便利です。






タグ:FileZilla
posted by at 18:15 | 運用 | このブログの読者になる | 更新情報をチェックする