Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > Свободное общение
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.05.2011, 20:04   #21
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от ромик0 Посмотреть сообщение
что значит - программировать на чистом винапи?
Ну примерно это значит.
Код:
Procedure WindowCallback(hWnd, Msg, wParam, lParam)
  Shared hButton
  
  Select Msg
    Case #WM_COMMAND
       If hButton = lParam
         MessageBox_(hWnd,"Ну что ж за день сегодня такой?"+Chr(10)+"Все меня закликали бедную!","Бедная я кнопко!",64)
       EndIf
    Case #WM_CLOSE 
      DestroyWindow_(hWnd) 
    Case #WM_DESTROY 
      PostQuitMessage_(0) : Result  = 0 
    Default 
      Result  = DefWindowProc_(hWnd, Msg, wParam, lParam) 
  EndSelect 
  
  ProcedureReturn Result 
EndProcedure  
 
InitCommonControls_()
DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT)
 
WindowClass.s    = "PureBasic_Win" 
wc.WNDCLASSEX 
wc\cbsize        = SizeOf(WNDCLASSEX) 
wc\lpfnWndProc   = @WindowCallback() 
wc\hCursor       = LoadCursor_(0, #IDC_ARROW) 
wc\hbrBackground = #COLOR_WINDOW
wc\lpszClassName = @WindowClass 
RegisterClassEx_(@wc) 
 
Win_x=GetSystemMetrics_(#SM_CXSCREEN)/2-100
Win_y=GetSystemMetrics_(#SM_CYSCREEN)/2-50
 
hWndMain  = CreateWindowEx_(0, WindowClass, "Мелкая прога API", #WS_SYSMENU | #WS_MINIMIZEBOX, Win_x, Win_y, 200, 120, 0, 0, 0, 0)
 
Text.s="Бинарник этой проги довольно мелкий и не требует дополнительных DLL для своей работы"
hText=CreateWindowEx_(0,"Static", Text, #WS_CHILD | #WS_VISIBLE, 10,10,180,54, hWndMain, 0, 0, 0)
SendMessage_(hText, #WM_SETFONT, DefaultFont, 1)
 
hButton=CreateWindowEx_(0, "Button", "Типа кнопко", #WS_CHILD | #WS_VISIBLE, 100,64,80,24, hWndMain, 0, 0, 0) 
SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1)
 
 
ShowWindow_(hWndMain,  #SW_SHOWDEFAULT) 
UpdateWindow_(hWndMain); 
 
While GetMessage_(msg.MSG, #Null, 0, 0 ) 
  TranslateMessage_(msg) 
  DispatchMessage_(msg) 
Wend
End
Во вложении скомпилированный исполняемый файл, весом 4 КБ, работающий на Win95 или более современной и не требующий установки дополнительных компонентов для своей работы.
Вложения
Тип файла: rar WinProg_API.rar (1.5 Кб, 28 просмотров)
*PB* вне форума Ответить с цитированием
Старый 24.05.2011, 20:52   #22
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а в разделе по АПИ нету ничего чтоль из литературы?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.05.2011, 23:12   #23
ромик0
Форумчанин
 
Регистрация: 23.05.2011
Сообщений: 121
По умолчанию

#include <iostream.h>
#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{

for( ; ; ) {
SendMessage(HWND_BROADCAST, WM_SYSCOMMAND,SC_MONITORPOWER,0);
Sleep(400);


}





скомпилировал... весит 1.23 мегабайта , А ЧЕ ТАК МНОГО ТО????
и как по средствам винапи запретить диспетчер задач?
ромик0 вне форума Ответить с цитированием
Старый 24.05.2011, 23:15   #24
Bustle
Interdicted
Участник клуба
 
Аватар для Bustle
 
Регистрация: 25.11.2010
Сообщений: 1,194
По умолчанию

Цитата:
что значит - программировать на чистом винапи?
программирование без использования объектов и визуальности (c винапи не знаком. по логике)
Пепел Феникса
Написал ж
Цитата:
c винапи не знаком
Love writing code and I am really passionate about it

Последний раз редактировалось Bustle; 24.05.2011 в 23:37.
Bustle вне форума Ответить с цитированием
Старый 24.05.2011, 23:29   #25
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)#include <iostream.h>
лучше убрать
2)далее соберите RELEASE
3)да и с настройками компиля поиграться не помешает.

Цитата:
программирование без использования объектов и визуальности (c винапи не знаком. по логике)
бред. ибо как я говорил, вcя та самая визуальность на апи и зиждется.
хотя б возьмем CreateWindow, RegisterClass
Цитата:
Написал ж
видел, но это ж не значит что я не должен опровергнуть неверные данные
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 24.05.2011 в 23:40.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.05.2011, 23:43   #26
ромик0
Форумчанин
 
Регистрация: 23.05.2011
Сообщений: 121
По умолчанию

у меня стоит DEV-CPP и когда я убераю #include <iostream.h> то он вообще отказывается компилить, без него никуда. простите , а как настроить компилер?RELEASE - ?
ромик0 вне форума Ответить с цитированием
Старый 25.05.2011, 00:43   #27
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от ромик0 Посмотреть сообщение
скомпилировал... весит 1.23 мегабайта , А ЧЕ ТАК МНОГО ТО????
Не правильный у тебя компилятор.
Во вложении прога, размер 2.5 КБ.

ВНИМАНИЕ.
Прога выключает монитор!
Вложения
Тип файла: rar MONITOR_OFF.rar (1.1 Кб, 8 просмотров)
*PB* вне форума Ответить с цитированием
Старый 25.05.2011, 01:00   #28
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от *PB* Посмотреть сообщение
Ну примерно это значит.
Код:
Procedure WindowCallback(hWnd, Msg, wParam, lParam)
  Shared hButton
  
.....

Wend
End
Во вложении скомпилированный исполняемый файл, весом 4 КБ, работающий на Win95 или более современной и не требующий установки дополнительных компонентов для своей работы.
Тобишь чистый ВинАпи даёт выигрыш в размере исполняемого файла?
Вообще честно говоря на данный момент компы настолько мощные, а инет настолько быстрый что размер уже не такая большая проблема.

Ну вот такаяже прога будет весить на Делфи ну 500 кб гдето.. в 10 раз размер больше, зато мозг на месте )
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 25.05.2011, 01:26   #29
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Ну вот такаяже прога будет весить на Делфи ну 500 кб гдето.. в 10 раз размер больше, зато мозг на месте )
Если математические законы еще не изменились, то 500 / 4 = 125
То есть в 125 раз меньше, а не в 10.

Ну можно написать без WinAPI.
Код:
OpenWindow(0,0,0,200,94,"Мелкая прога",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
Text.s="Бинарник этой проги довольно мелкий и не требует дополнительных DLL для своей работы"
TextGadget(0,10,10,180,54,Text)
ButtonGadget(2,100,64,80,24,"Типа кнопко")

Repeat
  Event = WaitWindowEvent()
  If Event = #PB_Event_Gadget
    If EventGadget() = 2
      MessageRequester("Бедная я кнопко!", "Ну что ж за день сегодня такой?"+Chr(10)+"Все меня закликали бедную!")
    EndIf
  EndIf
Until Event = #PB_Event_CloseWindow
Исполняемый файл бует размером 15 КБ, но данный исходник без его правки, можно откомпилировать не только под винду, но и под Linux, а так же MacOS X и даже AmigaOS.
Вложения
Тип файла: rar knopko.rar (6.9 Кб, 24 просмотров)

Последний раз редактировалось *PB*; 25.05.2011 в 01:43.
*PB* вне форума Ответить с цитированием
Старый 25.05.2011, 12:26   #30
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
зато мозг на месте )
Если у вас от использования WinAPI мозг с места уходит - это только ваша проблема.

к Т.С - хватит баловаться. В одной теме вы cd-rom открываете на WinAPI, в этой диспетчер задач закрываете. Не хорошо такими вещами заниматься

Цитата:
Сообщение от *PB* Посмотреть сообщение
но данный исходник без его правки, можно откомпилировать не только под винду, но и под Linux, а так же MacOS X и даже AmigaOS.
Что? Каким это образом код, использующий WinAPI можно компилировать под Linux (и все остальное, что вы перечислили)
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария

Последний раз редактировалось Blade; 25.05.2011 в 12:29.
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что значит \n в С++ compod Общие вопросы C/C++ 11 02.05.2011 02:45
Что это за знак и что он значит? Яр|/||< (^_^) Свободное общение 10 04.07.2010 13:16
Что значит Inc(x)? Vadim123456 Помощь студентам 6 27.04.2010 23:19
что это значит Андрей1992 Помощь студентам 2 25.03.2010 21:04