|
>どちらかというと秀丸メールの方で使いたかったので,まねをしてHKEY_CURRENT_US
>ER\SOFTWARE\Hidemaruo\TuruKame\Config\SpellCheckDetailを書き換えるマクロを
>書いてみたのですが,期待通り動かないようです,レジストリは書き換わっている
>のですが,秀丸メール自身が設定を読んでくれないようです.何か手はありますか?
すみません,秀丸メールではtkinfo.dllを呼ばなければならないことを忘れていまし
た.以下のマクロで動いているようです.ありがとうございます.
$langname[#langcount] = "英語-米国(&U)";$langcode[#langcount] = "656E5553";#
langcount = #langcount + 1;
$langname[#langcount] = "英語-英国(&G)";$langcode[#langcount] = "656E4742";#
langcount = #langcount + 1;
$langname[#langcount] = "英語-カナダ(&C)";$langcode[#langcount] = "656E4341
";#langcount = #langcount + 1;
$langname[#langcount] = "フランス語-フランス(&F)";$langcode[#langcount] = "6
6724652";#langcount = #langcount + 1;
$langname[#langcount] = "フランス語-スイス(&S)";$langcode[#langcount] = "667
24348";#langcount = #langcount + 1;
$langname[#langcount] = "ドイツ語-ドイツ(&D)";$langcode[#langcount] = "64654
445";#langcount = #langcount + 1;
$langname[#langcount] = "ドイツ語-スイス(&D)";$langcode[#langcount] = "64654
348";#langcount = #langcount + 1;
$langname[#langcount] = "スペイン語(&E)";$langcode[#langcount] = "65730000";
#langcount = #langcount + 1;
$langname[#langcount] = "イタリア語(&I)";$langcode[#langcount] = "69740000";
#langcount = #langcount + 1;
if( (platform & 0x00800000) == 0 ) {
if( (configstate & 0x01) != 0 ) {
message "一時的な設定になっているため設定を変更できません。";
endmacro;
}
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\" + filetype;
$config=getregstr("");
closereg;
if( $config!=""){
$configset="Config\\"+$config;
} else {
$configset="Default";
}
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\" + $configset;
$s = getregbinary("ExConfig2",20,4);
$lang = leftstr($s,8);
}else{
openreg "CURRENTUSER", "SOFTWARE\\Hidemaruo\\TuruKame\\Config";
$s = getregbinary("SpellCheckDetail",0,4);
$lang = leftstr($s,8);
}
#i = 0;
$menu[0] = "スペルチェックの言語";
$menu[1] = "\x01";
while( #i < #langcount ) {
if( $langcode[#i] == $lang ) {
$menu[#i+2] = "●" + $langname[#i];
} else {
$menu[#i+2] = " " + $langname[#i];
}
#i = #i + 1;
}
menuarray $menu, #langcount + 2;
#lang = result - 3;
if( #lang <0 ) {
closereg;
endmacro;
}
$s = $langcode[#lang] + midstr($s, 8);
if( (platform & 0x00800000) == 0 ) {
writeregbinary "ExConfig2", $s,20,1;
closereg;
envchanged;
}else{
writeregbinary "SpellCheckDetail",$s,0,1;
closereg;
loaddll "tkinfo.dll";
#h = hidemaruhandle(0);
#main = dllfunc("MainWnd2");
#hidden = (dllfunc("Bypass_IsWindowVisible",#main) == 0);
if(#hidden)##_ = sendmessage( #main, 0x112, 0xF120, 0); //WM_SYSCOMMAND, SC
_RESTORE
if(#h != #main)setactivehidemaru #main;
##_ = dllfunc("EnvChanged",0);
if(#h != #main)setactivehidemaru #h;
if(#hidden)##_ = dllfunc("Bypass_ShowWindow",#main,0);
freedll;
}
endmacro;
|
|