Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » вопрос по external и др

Страниц (22): В начало « ... 11 12 13 14 [15] 16 17 18 19 ... » В конец
 

141. 007wan - 13 Апреля, 2019 - 03:21:28 - перейти к сообщению
Zireael , Да-да, я что-то такое читал... спасибо.
(Добавление)
Да, так лучше) спс
CODE:
SetWindowPos(formatwi(MainWindow), HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);

(Добавление)
А как можно через розовуб sendmessage сделать GETCURSEL in Combobox/ Примеров предостаточно и я всё вставял в свой код, но ничего не работало. Всегда выдает значение 0!
142. Zireael - 13 Апреля, 2019 - 05:25:07 - перейти к сообщению
 Цитата:
А как можно через розовуб sendmessage сделать GETCURSEL in Combobox/

code (Отобразить)
143. 007wan - 13 Апреля, 2019 - 05:28:55 - перейти к сообщению
Вот я даже удалил свой комбо и поставил комбо, котоырй на 9 странице без изменений переменных и порядка.
Сейчас тогда буду выявлять причину конфликта, что и почему не работает. Начну восстанавливать свой код, но фундаментом послужит код, который на 9 странице.
(Добавление)
Вообщем что-то с меню напортачил:Весь код не стал вставлять, потому что много переменных и код весит больше. чем нужно
CODE:
int MENUINFO[7] = {28, MIM_STYLE, 0, 0, 0, 0, 0};
int HMENU, HMENU1, HMENU2, HMENU3, SelectMenu;
win MainWindow, SecondaryWindow, Browser, Game;


//-----------------------------------------------------------------------------------------------------------------------------------------------------
int combo1;
char c[255];
string combo_text[4]={"qwe", "rty", "asd", "123"};

createdialog(0);
createdialog(1);
showdialog(0, "Диалог",100, 100, 300, 300, 1, 1);

function getmessage(0, WM_CREATE)
{
HMENU = CreateMenu();
AppendMenu(HMENU, MF_POPUP, 1, "Настройки" );
SetMenuInfo(HMENU, address(#MENUINFO[0]));
SetMenu(gethwnd(0), HMENU);


}

function getmessage(1, WM_CREATE)
{
combo1=CreateWindow(0, "COMBOBOX", "", CBS_DROPDOWNLIST | WS_CHILD | WS_VISIBLE | WS_BORDER, 10, 10, 110, 120, gethwnd(1), 0, 0, 0);
for(int i=0; i<sizearray(combo_text); i++)
{
strcpy(#c[0], combo_text[i]);
sendmessage(CB_ADDSTRING, 0, address(#c[0]), formatiw(combo1));
}
}


function getmessage(0, WM_COMMAND)
{
if(loword(message.wparam) == 1)
{
showdialog(1, "Диалог2",500, 100, 200, 200, 0, 1);
}
}

loop()
{
int StatusCombobox1=sendmessage(CB_GETCURSEL, 0, 0, formatiw(combo1));
textbkcolor(255, 65280);
textout(0, 150, 250, "Выбранная строка: "+format(StatusCombobox1), 1);
sleep(10);
}
144. Zireael - 13 Апреля, 2019 - 07:02:24 - перейти к сообщению
code (Отобразить)
145. 007wan - 13 Апреля, 2019 - 07:22:45 - перейти к сообщению
Заменяю это:
 Zireael пишет:
#define WS_CHILD 1073741824
#define WS_VISIBLE 268435456
#define WS_BORDER 8388608
#define CBS_DROPDOWNLIST 3
#define CB_ADDSTRING 323
#define CB_GETCURSEL 327
#define MIM_STYLE 16
#define MF_POPUP 16

На это:
 Цитата:
#define WS_VISIBLE 268435456
#define WS_OVERLAPPED 0
#define WS_CHILD 1073741824
#define WS_BORDER 8388608
#define WS_SIZEBOX 262144
#define WS_POPUP 2147483648
#define WS_CHILD 1073741824
#define WS_HSCROLL 1048576
#define WS_VSCROLL 2097152
#define WS_POPUP 2147483648
#define WS_GROUP 131072
#define WS_SYSMENU 524288
#define WS_MINIMIZEBOX 131072
#define WS_MAXIMIZEBOX 65536
#define WS_DISABLED 134217728
#define WS_CAPTION 12582912
#define WS_CLIPSIBLINGS 67108864
#define WS_DLGFRAME 4194304

#define WM_GETTEXT 13
#define WM_SETTEXT 12
#define WM_GETTEXTLENGTH 14
#define WM_SETCURSOR 32
#define WM_SIZE 5
#define WM_ERASEBKGND 20
#define WM_ENABLE 10

#define MF_STRING 0
#define MF_POPUP 16

#define MNS_NOTIFYBYPOS 134217728

#define MIM_STYLE 16

#define HWND_TOPMOST -1

#define ES_AUTOHSCROLL 128
#define ES_UPPERCASE 8
#define ES_MULTILINE 4
#define ES_WANTRETURN 4096
#define ES_LOWERCASE 16
#define ES_READONLY 2048

#define BS_AUTOCHECKBOX 3
#define BS_3STATE 5
#define BS_GROUPBOX 7
#define BS_AUTO3STATE 6
#define BS_FLAT 32768
#define BS_PUSHBUTTON 0
#define BS_SPLITNUTTON 12

#define BM_GETSTATE 242
#define BM_SETCHECK 241
#define BM_SETSTATE 243

#define BN_DISABLE 4

#define EM_LIMITTEXT 197

#define SW_HIDE 0
#define SW_SHOWNA 8
#define SW_SHOW 5
#define SW_SHOWMAXIMIZED 3

#define SWP_NOSIZE 1
#define SWP_NOMOVE 2

#define CB_GETITEMDATA 336
#define CB_GETCURSEL 327
#define CB_ADDSTRING 323
#define CB_DELETESTRING 324
#define CB_FINDSTRING 332
#define CB_GETCURSEL 32
#define CB_GETLBTEXT 328
#define CB_SETCUEBANNER 5891
#define CB_SETCURSEL 334

#define CBS_DROPDOWNLIST 3
#define CBS_AUTOHSCROLL 64
#define CBS_DROPDOWN 2
#define CBS_DROPDOWNLIST 3

#define LB_GETCURSEL 392
#define LB_ADDSTRING 384
#define LB_GETCOUNT 395
#define LB_SETTOPINDEX 407
#define LB_GETTEXT 393
#define LB_SETHORIZONTALEXTENT 404

#define LBS_EXTENDEDSEL 2048
#define LBS_DISABLENOSCROLL 4096
#define LBS_OWNERDRAWVARIABLE 32
#define LBS_MULTIPLESEL 8
#define LBS_NOINTEGRALHEIGHT 256
#define LBS_OWNERDRAWFIXED 16
#define LBS_NOSEL 16384

#define RUSSIAN_CHARSET 204
#define OUT_DEFAULT_PRECIS 0
#define CLEARTYPE_QUALITY 5
#define FF_DONTCARE 0
#define CLIP_DEFAULT_PRECIS 0

#define TPM_RETURNCMD 256

И почему-то перестает получать номер выбранной строки
146. Zireael - 13 Апреля, 2019 - 07:28:35 - перейти к сообщению
 Цитата:
И почему-то перестает получать номер выбранной строки

 Цитата:
#define CB_GETCURSEL 32

CODE:
#define CB_GETCURSEL 327
147. 007wan - 13 Апреля, 2019 - 07:42:16 - перейти к сообщению
Zireael , Твою дивизию)) весь это шум из-за одной цифры)) Всё наконец-то работает. Я с этим парился очень долго...
148. Zireael - 13 Апреля, 2019 - 10:29:17 - перейти к сообщению
 Цитата:
Как с помощью external сделать, что бы программа смогла открыться только один раз

code (Отобразить)

2 таких скрипта (или exe) одновременно не запустятся.
149. 007wan - 13 Апреля, 2019 - 11:36:44 - перейти к сообщению
Спасибо, дружище)
(Добавление)
А возможно ли сделать, что бы фшел виндоу сделал мигающим вкладку на панели задач мигающей желтым цветом без сворачивания окна. Я видел это в одном клиенте, когда запускаешь вторую программу, то вкладка начинает мигать желтым, но окно активно или раскрыто, а тут когда включаю, то начинает мигать само окно, но не вкладка на панели задач
150. Zireael - 13 Апреля, 2019 - 12:39:43 - перейти к сообщению
 Цитата:
что бы фшел виндоу сделал мигающим вкладку на панели задач

CODE:
#define FLASHW_TRAY 2
#define FLASHW_TIMER 4
#define FLASHW_STOP 0
external(INT, "FlashWindow", "FlashWindowEx", "User32.dll");

createdialog(0);
showdialog(0, "Диалог", 300, 300, 300, 300, 1, 1);

win w=window("Кибор");

int FLASHWINFO1[5]={20, formatwi(w), FLASHW_TRAY | FLASHW_TIMER, 0, 0};
int FLASHWINFO2[5]={20, formatwi(w), FLASHW_STOP, 0, 0};


FlashWindow(address(#FLASHWINFO1[0])); // начать мигать
sleep(3000);
FlashWindow(address(#FLASHWINFO2[0])); // перестать мигать
loop()sleep(10);

Powered by ExBB FM 1.0 Final