Александр, спасибо огромное за наводку в нужную сторону, понятно что так намного правильнее сделать.
Перебор тоже кстати пригодился )
Да вопрос на будущее, а как на кнопку нажать без того чтобы посылать клавиши, ведь по сути контрол то мы можем получить...
А да все модуль доделан, это было последняя фишечка ради которой я пользовался Autohotkey теперь все перевел на снегопат, и очень доволен.
Да кому надо выкладываю
Код:
$engine JScript
$uname my_macros
$dname Мои макросы
$addin global
$addin stdcommands
$addin stdlib
var мВызовИзМакроса = false
events.connect(windows, "onDoModal", SelfScript.self, "onMessageBoxSetPassword");
//////////////////////////////////////////////////////////////////////////////////////
////{ Макросы
////
function macrosОткрытьМодульОбъекта()
{
//debugger
try
{
windows.getActiveView().mdObj.editProperty("МодульОбъекта");
return true
}catch(e){}
return false
}
function macrosОткрытьОсновнуюФорму()
{
try
{
var mdObj = windows.getActiveView().mdObj
var mainForm = mdObj.container.findByUUID(stdlib.getUuidFomMDRef(mdObj.property("ОсновнаяФорма")))
mainForm.editProperty("Форма")
return true
}catch(e){}
return false
}
function macrosУстановитьПароль()
{
мВызовИзМакроса = true
sendCommand("{EF6D156B-12FB-4CE7-A0E9-7F0C2EDC7D06}", 0)
мВызовИзМакроса = false
}
function onMessageBoxSetPassword(dlgInfo) {
if ((dlgInfo.stage==openModalWnd) && (dlgInfo.Caption=="Защита модуля") && (мВызовИзМакроса==true)){
dlgInfo.form.getControl("Password").value="pass";
dlgInfo.form.getControl("ConfirmPassword").value="pass";
new ActiveXObject("WScript.Shell").SendKeys("^~"); // Ctrl+Enter
}
}