Вверх ↑
Этот топик читают: Гость
Ответов: 35
Рейтинг: 5
#1: 2010-05-24 15:06:37 ЛС | профиль | цитата
я уже давно пользуюсь HiAsm'ом как конструктором маленьких программ.
и вот возникла такая проблема: у одной проги есть API но вот как мне сделать так чтоб этот API использовать ?

пытался так:

code_18466.txt

помогите плиз... хотя еще нигде не слышал про API на HiAsm'е
карма: 0

0
файлы: 1code_18466.txt [571B] [149]
Ответов: 8930
Рейтинг: 823
#2: 2010-05-24 15:33:40 ЛС | профиль | цитата
KopBuH, откройте по Ctrl+F коды почти любого элемента (или в Блокноте откройте *.pas) и найдёте очень много примеров использования (но надо знать, где находится функция, как правильно пишется, какие параметры передаются и какие возвращаются)
карма: 19

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#3: 2010-05-24 15:35:08 ЛС | профиль | цитата
KopBuH, а где описание этого API Без описания, работа с API не представляется возможным
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#4: 2010-05-24 20:10:08 ЛС | профиль | цитата
Может поможет ?
http://hiasm.com/forum_serv.php?q=56&id=1452
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#5: 2010-05-24 21:25:52 ЛС | профиль | цитата
Tad писал(а):
Может поможет ?

А причем здесь Винда, когда чел конкретно спросил
KopBuH писал(а):
у одной проги есть API но вот как мне сделать так чтоб этот API использовать

Ему нужно научиться работать с API этой проги
карма: 22

1
Голосовали:KopBuH
Ответов: 35
Рейтинг: 5
#6: 2010-05-25 17:10:08 ЛС | профиль | цитата
Я не программист хотя вроде бы понял довольно хорошо HiAsm
и у меня есть исходник консольной программы написанная на C++ которая с ним работает, и я могу использовать ее, но хотелось бы все же HiAsm использовать.
вот исходник консольной версии:


#cpp
#include <windows.h>
#include <stdio.h>



int main(int argc,char **argv)
{
int rc = -1;

if ( argc == 2 )
{
HWND w = FindWindow("_RunpadClass",NULL);
if ( w )
{
ATOM a = GlobalAddAtom(argv[1]);
if ( a )
{
DWORD_PTR res = 0;
if ( SendMessageTimeout(w,WM_USER+103,(WPARAM)a,0,SMTO_ABORTIFHUNG|SMTO_BLOCK,5000,&res) )
{
rc = res;
}
}
}
}

printf("exit code = %d
",rc);
return rc;
}

В принципе могу ее использовать так, но при каждом запуске курсор меняется на песочные часы загрузки, а я ее каждые десять секунд запускаю)



Add(WinExec,13529090,42,49)
{
Param="Internet"
FileName="issheet_con.exe"
Mode=0
RunEvent=1
Point(doConsoleExec)
Point(onConsoleResult)
Point(doConsoleTerminate)
Point(onConsoleTerminate)
link(onConsoleResult,3081659:doDelete,[])
}
Add(Delete,3081659,91,56)
{
Count=11
link(onDelete,13688036:doValue,[])
}
Add(Memory,13688036,140,56)
{
link(onData,13529090:doConsoleTerminate,[(184,62)(184,100)(30,100)(30,76)])
}


вот оффициальное описание этого API:
http://hiasm.com/forum_serv.php?q=56&id=1460
карма: 0

0
Ответов: 356
Рейтинг: 31
#7: 2010-05-25 17:21:09 ЛС | профиль | цитата
KopBuH писал(а):
нет прав на добавление файла

Вверху страниц форума есть ссылка Файлообмен.
карма: 0

1
Голосовали:KopBuH
Разработчик
Ответов: 26170
Рейтинг: 2127
#8: 2010-05-25 17:38:30 ЛС | профиль | цитата
И гду тут API, я тут увидел только обычное управлением классом окна при помощи сообщений
Читаем внимательно, что такое API, дабы, не было каши в голове

Microsoft писал(а):
Application Programming Interface (API) — это просто некоторый готовый набор функций, который могут использовать разработчики приложений. В общем случае данное понятие эквивалентно тому, что раньше чаще называли библиотекой подпрограмм. Однако чаще всего под API подразумевается некоторая особая категория таких библиотек


Любые разработчики ПО могут написать библиотеки в особом стандарте и дать к ним описание точек входа -- название функций и набор параметров. Это и будет называться API приложения

Ну нету в примере никаких функций, кроме стандартных. Без описания API нереально управлять приложением при помощи API и для работы с ним, необходимо создавать оболочку. Для создания оболочки API сторонней программы в HiAsm'e, надо рыть в сторону IC (InlineCode)
------------ Дoбавленo в 17.38:
Вот теперь я вижу, что есть API какого-то ПО.
А теперь вопрос -- для чего это ПО и что оно делает, и где сама библиотека *.dll
карма: 22

0
Ответов: 35
Рейтинг: 5
#9: 2010-05-25 17:45:21 ЛС | профиль | цитата
спасибо за обьясние.
вот DLL файл:
http://hiasm.com/forum_serv.php?q=56&id=1461

это Runpad Shell 3D v6.85 от Сергея Шамшина.
этот мужик создал софт но у него есть некоторые проблемы которые возможно в следующих версиях будут доделаны но пока придется самим.
у этого шелла очень все описано по API но понятно программистам, а мне что делать с моим HiAsm'ом?
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#10: 2010-05-25 17:51:52 ЛС | профиль | цитата
KopBuH писал(а):
вот DLL файл

Вопрос остался открытым -- для чего это ПО и что оно должно делать

карма: 22

0
Ответов: 35
Рейтинг: 5
#11: 2010-05-25 18:03:34 ЛС | профиль | цитата
для чего это ПО и что оно должно делать

это шелл для компьютерных клубов и он делает работу юзера за компом безопасной для компа.
проблема:
шелл предлагает связку RunpadShell+Game Class вторая сторона которой не очень доработана в смысле функциональности.
когда GameClass сменяет тариф клиента с "Интернет" на "Игры" хотя закладка Internet исчезает ,все браузеры, м-агенты, qip skype и прочее остается открытым и его нужно убить вручную а если у тя 40 тачек то это нереально

решение этой проблемы:
Шамшин сделал для меня консольную прогу запуская которую можно узнать статус закладки Internet но при каждом скрытом запуске выходит курсор загрузки системы. а это мешает поэтому я хочу работать с API шелла напрямую.
карма: 0

0
Ответов: 498
Рейтинг: 39
#12: 2010-05-25 18:03:46 ЛС | профиль | цитата
[flood]nesco, А существует описание как делать компоненты?[/flood]
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#13: 2010-05-25 19:00:48 ЛС | профиль | цитата
[flood]
Muz-Tv писал(а):
А существует описание как делать компоненты?

На блоге почитай, там что-то было[/flood]
карма: 22

0
Ответов: 35
Рейтинг: 5
#14: 2010-05-25 19:03:21 ЛС | профиль | цитата
работа с API программ была бы очень интересной стороной HiAsm'а
вот тут оффициальные примеры использования API шелла:
http://hiasm.com/forum_serv.php?q=56&id=1463
папка include там этот зверь RS_???????_????.pas

есть исходник программы под винду которую написал сам автор ПО:
еще есть консольная которая выдает exit code=1 если закладка есть
вот тут:
http://hiasm.com/forum_serv.php?q=56&id=1464
карма: 0

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#15: 2010-05-25 19:08:34 ЛС | профиль | цитата
KopBuH, для нормального использования этого API желательно найти вот этот модуль ля Delphi RS_APILib_TLB.pas и все, что с ним связано
------------ Дoбавленo в 19.07:
KopBuH писал(а):
если не хочешь терять на это время просто снеси эту тему и все

Я еще не сказал -- ни "да", ни "нет". Зачем сносить
------------ Дoбавленo в 19.08:
Пардон-с, нашел модуль. Сейчас посмотрю, что это за зверь
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)