Форум программистов, компьютерный форум, киберфорум
Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.76/42: Рейтинг темы: голосов - 42, средняя оценка - 4.76
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64

Создание dll для поддержки скинов

05.07.2011, 12:41. Показов 9356. Ответов 74
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, понадобилась помощь в разработке dll для поддержки скинов в других ЯП, сам пишу на AutoIt но там не очень хорошо создавать скины,вся графика находится снаружи скрипта и защиты ни какой, пробую написать на PureBasic, там есть функции по созданию PAK архивов, по моему от туда можно загружать графику и одевать окно не извлекая ни чего из архива, листаю справку по PureBasic 2ой день, пока не очень понятно,так как переход с одного языка на другой сложноват, прошу помощи у знающих людей в создании dll, с чего начать и как двигаться дальше, если есть примеры, хотелось бы очень увидеть, заранее спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.07.2011, 12:41
Ответы с готовыми решениями:

Использование скинов для приложения
Приветик всем!!! Как получить шаблон 2007 для своей программы

Как установить классы скинов для c#
Помогите пожалуйста, мне нужно установить классы скинов на C#, как это можно реализовать, просто новичек в этом деле, и если кто может,...

Компонент для создания шкурок (скинов)
сам не знаю что хочу, но гдето видел некто не подскажет))) вообщем вот: Где и что скачать,как установить (вроде) "модуля" для...

74
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
07.07.2011, 10:49  [ТС]
Студворк — интернет-сервис помощи студентам
Ясно,это хорошо,я просто хочу сначала разобраться через что легче делать скин,через *.pak или *.rss !?
и что сначала нужно сделать?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
07.07.2011, 10:54
Цитата Сообщение от SergeyA Посмотреть сообщение
через что легче делать скин,через *.pak или *.rss
Это всего лишь форматы файлов (читай, расширения).
Как сделаешь, так и будет. Но если нужна совместимость со стандартным, скиновым rss - нужно ознакомиться со структурой файла и написать код для работы с ним.
0
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
07.07.2011, 11:17  [ТС]
Ясно,а не подскажите где ознакомится со структурой rss скинов?

И не могу ещё поставить кнопку в окно, если указываю просто число,то ставится, а если так то нет
нужно сначала отмерить длину окна и отнять n число пикселей, чтоб кнопка при изменении размера окна оставалась на том же месте

PureBasic
1
2
3
4
5
6
7
8
9
10
11
ProcedureDLL ButtonSkin(hWnd)
  
  Width = WindowWidth(hWnd)
  
  InitCommonControls_() 
  DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT) 
  
  hButton=CreateWindowEx_(0, "Button", "", #WS_CHILD | #WS_VISIBLE, Width - 30,6,16,16, hWnd, 0, 0, 0) 
  SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1) 
  
EndProcedure
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
07.07.2011, 11:32
Цитата Сообщение от SergeyA Посмотреть сообщение
нужно сначала отмерить длину окна
Для этого нужно использовать WinAPI функцию GetWindowRect().
Code
1
2
3
4
5
6
7
8
ProcedureDLL ButtonSkin(hWnd)
  GetWindowRect_(hWnd, Win.RECT)
  WIDTH = Win\right-Win\left
   ;InitCommonControls_() 
  DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT) 
  hButton=CreateWindowEx_(0, "Button", "", #WS_CHILD | #WS_VISIBLE, WIDTH - 30,6,16,16, hWnd, 0, 0, 0) 
  SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1) 
EndProcedure
Функция WindowWidth() предназначена для определения ширины окна, созданного функцией OpenWindow().
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
07.07.2011, 11:42  [ТС]
Ясно, буду запоминать,я также поставлю кнопки minimize и maximize, только как отлавливать их нажатие и выполнять действие которое они должны выполнить, если через While то у меня просто окно не появится, а в dll будет цикл обработки кнопок
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
07.07.2011, 12:16
Нужно получить с помощью WunAPI функции GetWindowLong адрес функции окна, запомнить его и подменить на свой, функцией SetWindowLong.
В процедуре контролировать событие #WM_COMMAND и если хендл, кнопки и в lParam будут одинаковы, то значит на кнопку нажали.
0
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
07.07.2011, 12:22  [ТС]
Это что-то вроде этого

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton 
  
  Select Msg 
    Case #WM_COMMAND 
       If hButton = lParam 
         DestroyWindow_(hWnd) 
       EndIf  
    Case #WM_DESTROY 
      PostQuitMessage_(0) : Result  = 0 
    Default 
      Result  = DefWindowProc_(hWnd, Msg, wParam, lParam) 
  EndSelect 
  
  ProcedureReturn Result 
EndProcedure
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
07.07.2011, 12:35
Цитата Сообщение от SergeyA Посмотреть сообщение
Это что-то вроде этого
Ага, типа того.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
    Case #WM_COMMAND 
       If hButton = lParam 
         ; Здесь действия при нажатии кнопки 
       EndIf  
   EndSelect 
   
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure
 
ProcedureDLL ButtonSkin(hWnd)
  Shared hButton, *WindowProc 
  GetWindowRect_(hWnd, Win.RECT)
  WIDTH = Win\right-Win\left
   ;InitCommonControls_() 
  DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT) 
  hButton=CreateWindowEx_(0, "Button", "", #WS_CHILD | #WS_VISIBLE, WIDTH - 30,6,16,16, hWnd, 0, 0, 0) 
  SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1) 
  
  If *WindowProc=0
    *WindowProc=SetWindowLong_(hWnd, #GWL_WNDPROC, @WindowCallback())
  EndIf
EndProcedure
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
07.07.2011, 12:45  [ТС]
Я решил не заморачиваться и делать как легче,сам не понимаю basic и решил профессиональный скин сделать...самому смешно,решил всё таки делать как Вы привели пример с загрузкой картинки в саму dll, а потом на основе уже этой dll буду просто менять картинки и указывать новые параметры,но здесь есть ещё одна существенная проблема, если я ставлю картинку на окно,то окно должно быть такого же размера как и картинка,можно ли наоборот сделать, если изменить размер окна то и картинка изменит свой размер под размер окна?

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
    Case #WM_COMMAND 
       If hButton = lParam 
         DestroyWindow_(hWnd)
       EndIf  
   EndSelect 
   
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure
 
ProcedureDLL LoadSkin(hWnd)
  Shared hButton, *WindowProc 
  GetWindowRect_(hWnd, Win.RECT)
  WIDTH = Win\right-Win\left
  
  ;InitCommonControls_() 
  DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT) 
  hButton=CreateWindowEx_(0, "Button", "", #WS_CHILD | #WS_VISIBLE, WIDTH - 24,7,16,16, hWnd, 0, 0, 0)  
  SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1) 
  
  hBitmap = CatchImage(0, ?Background, ?BackgroundEnd-?Background)
  If hBitmap
    SkinWin(hWnd, hBitmap)
  EndIf  
  
  If *WindowProc=0
    *WindowProc=SetWindowLong_(hWnd, #GWL_WNDPROC, @WindowCallback())
  EndIf
  
EndProcedure 
 
DataSection
  Background:
  IncludeBinary "green.bmp"
  BackgroundEnd:
EndDataSection
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
07.07.2011, 13:27
Нужно контролировать событие #WM_SIZE.
В wParam будет тип события, а в lParam, текущий размер окна.
Code
1
2
        WinW = lParam & $FFFF 
        WinH = (lParam >> 16 ) & $FFFF
Нужно изменить размеры картинки (функция ResizeImage() ) и вновь применить скин.
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
07.07.2011, 22:12  [ТС]
Спасибо,но пока туговато доходит (куда что ставить) и я имел ввиду чтоб не вся картинка изменялась - потому как там будет как у обычного окна где пишется заголовок синяя линия за которую тянуть, так и на картинке есть, если изменить размер картинки то изменится эта линия и потеряется качество, а делать допустим делим картинку на 9 частей, должны изменятся только 4 из них (Верх-Середина),(Низ-середина),(левый бок-середина) и (Правый бок середина)

У меня окно закрывается,а процесс остаётся работать

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
     Case #WM_COMMAND 
       If hButton = lParam 
         DestroyWindow_(hWnd)
       EndIf         
   EndSelect 
   
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
08.07.2011, 00:43
Можно попробовать сделать так
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
     Case #WM_COMMAND 
       If hButton = lParam 
         PostMessage_(hWnd, #WM_CLOSE, 0, 0)
       EndIf         
   EndSelect 
   
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure
или так
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
    Case #WM_COMMAND 
      If hButton = lParam 
        Msg =  #WM_CLOSE
        wParam = 0
        lParam = 0
      EndIf         
  EndSelect 
  
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
08.07.2011, 13:31  [ТС]
Работает



Вот макет картинки сделал, то что красным должно изменять размер если изменился размер окна,то что не выделено красным должно оставаться на своём месте не зависимо от размера окна.
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
08.07.2011, 13:54
Код создания картинок уже написан?
Как я писал выше, нужно обрабатывать событие #WM_SIZE и с помощью WinAPI функции MoveWindow_ перемещать рисунки так, чтобы они были на своих местах в окне.
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
08.07.2011, 13:57  [ТС]
Но этот рисунок будет поделен на 9 частей, SkinWin сможет загрузить все 9 кусков на одно окно?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
08.07.2011, 16:36
Цитата Сообщение от SergeyA Посмотреть сообщение
SkinWin сможет загрузить все 9 кусков на одно окно?
Нет.
Надо будет в окне создать с помощью WinAPI функции 9 контролов типа "Static" для этих рисунков.
Code
1
2
3
4
5
6
7
8
; x - Координата X.
; y - Координата Y.
; w - Ширина.
; h - Высота.
; hWnd - Хендл окна-ордителя.
; hWnd_Static - хендл создаваемого контрола.
 
hWnd_Static = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, x, y, w, h, hWnd, 0, 0, 0)
Затем загрузить рисунки.
Code
1
2
3
4
; hWnd_Static - хендл контрола в который нужно поместить рисунок.
; hBitmap     - дескриптор рисунка.
 
SendMessage_(hWnd_Static, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap)
Только нужно учесть что переменная hWnd_Static для всех контролов должна быть разной и в этом случае, логично в место нее использовать массив в 9 элементами.
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
09.07.2011, 23:20  [ТС]
Вот написал,осталось только размеры изменять, не пойму как, по разному пробывал - не получается, иногда полностью всё вылетало, обновление скина я так понял нужно делать после того как изменится размер окна,как Вы говорили, я поставил WM_SIZE в процедуру WindowCallback но пока не протестировал, вот весь код.

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
     Case #WM_COMMAND 
       If hButton = lParam 
         PostMessage_(hWnd, #WM_CLOSE, 0, 0)
       EndIf  
     Case #WM_SIZE  
         ;WinW = lParam & $FFFF 
         ;WinH = (lParam >> 16 ) & $FFFF
         ;PostMessage_(hWnd, #WM_PAINT, 0, 0)
   EndSelect 
   
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure 
 
ProcedureDLL LoadSkin(hWnd)
  Shared hButton, *WindowProc 
  GetWindowRect_(hWnd, Win.RECT)
  WIDTH = Win\right-Win\left
  HEIGHT = Win\bottom - Win\top
  
  DefaultFont = GetStockObject_(#DEFAULT_GUI_FONT) 
  hButton=CreateWindowEx_(0, "Button", "", #WS_CHILD | #WS_VISIBLE, WIDTH - 24,7,16,16, hWnd, 0, 0, 0)  
  SendMessage_(hButton, #WM_SETFONT, DefaultFont, 1) 
  
  hWnd_Static1 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 0, 0, 22, 22, hWnd, 0, 0, 0)
  hWnd_Static2 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 22, 0, WIDTH - 110, 22, hWnd, 0, 0, 0)
  hWnd_Static3 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, WIDTH - 88, 0, 88, 22, hWnd, 0, 0, 0)
  hWnd_Static4 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 0, 22, 6, HEIGHT-36, hWnd, 0, 0, 0)
  hWnd_Static5 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 80, 0, 22, 22, hWnd, 0, 0, 0)
  hWnd_Static6 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 80, 0, 22, 22, hWnd, 0, 0, 0)
  hWnd_Static7 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 80, 0, 22, 22, hWnd, 0, 0, 0)
  hWnd_Static8 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 80, 0, 22, 22, hWnd, 0, 0, 0)
  hWnd_Static9 = CreateWindowEx_(0, "Static", "", #WS_CHILD|#WS_VISIBLE|#SS_BITMAP|#WS_DISABLED, 80, 0, 22, 22, hWnd, 0, 0, 0)
 
  
  hBitmap1 = CatchImage(0, ?Img1, ?Img1End-?Img1)
  hBitmap2 = CatchImage(1, ?Img2, ?Img2End-?Img2)
  hBitmap3 = CatchImage(2, ?Img3, ?Img3End-?Img3)
  hBitmap4 = CatchImage(3, ?Img4, ?Img4End-?Img4)  
  ;hBitmap5 = CatchImage(4, ?Img5, ?Img5End-?Img5)
  ;hBitmap6 = CatchImage(5, ?Img6, ?Img6End-?Img6)  
  ;hBitmap7 = CatchImage(6, ?Img7, ?Img7End-?Img7)
  ;hBitmap8 = CatchImage(7, ?Img8, ?Img8End-?Img8)  
  ;hBitmap9 = CatchImage(8, ?Img9, ?Img9End-?Img9)   
  
  If hBitmap1
    SendMessage_(hWnd_Static1, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap1)
  EndIf 
  If hBitmap2
    SendMessage_(hWnd_Static2, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap2) 
  EndIf
  If hBitmap3
    SendMessage_(hWnd_Static3, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap3)
  EndIf 
  If hBitmap4
    SendMessage_(hWnd_Static4, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap4)
  EndIf
  If hBitmap5
    SendMessage_(hWnd_Static5, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap5)
  EndIf 
  If hBitmap6
    SendMessage_(hWnd_Static6, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap6)
  EndIf
  If hBitmap7
    SendMessage_(hWnd_Static7, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap7)
  EndIf 
  If hBitmap8
    SendMessage_(hWnd_Static8, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap8)
  EndIf  
  If hBitmap9
    SendMessage_(hWnd_Static9, #STM_SETIMAGE, #IMAGE_BITMAP, hBitmap9)
  EndIf  
  
  If *WindowProc=0
    *WindowProc=SetWindowLong_(hWnd, #GWL_WNDPROC, @WindowCallback())
  EndIf
  
EndProcedure 
 
DataSection
  Img1:
  IncludeBinary "1.bmp"
  Img1End:
  
  Img2:
  IncludeBinary "2.bmp"
  Img2End:
  
  Img3:
  IncludeBinary "3.bmp"
  Img3End:
  
  Img4:
  IncludeBinary "4.bmp"
  Img4End: 
  
  Img5:
  IncludeBinary "5.bmp"
  Img5End:
  
  Img6:
  IncludeBinary "6.bmp"
  Img6End:
  
  Img7:
  IncludeBinary "7.bmp"
  Img7End:  
  
  Img8:
  IncludeBinary "8.bmp"
  Img8End: 
  
  Img9:
  IncludeBinary "9.bmp"
  Img9End:  
EndDataSection
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
09.07.2011, 23:55
Нужно расположить этот код после события #WM_SIZE и нужно обязательно получить доступ к переменной hWnd_Static1 потому что по умолчанию она не глобальная и доступа к ней из процедуры нет.
Code
1
2
3
4
5
6
         WinW = lParam & $FFFF 
         WinH = (lParam >> 16 ) & $FFFF
         If WinW>0 And WinH>0
           GetWindowRect_(hWnd_Static1, Stat.RECT)
           MoveWindow_(hWnd_Static1, Stat\left,Stat\top,WinW-4, Stat\bottom, #True)
         EndIf
Данный код, изменяет только ширину оставляя все другие параметры без изменений.
1
18 / 0 / 0
Регистрация: 03.07.2011
Сообщений: 64
10.07.2011, 10:45  [ТС]
Статический элемент скорее всего изменяет свои размеры, но картинка остаётся на том же месте и не меняется

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Procedure WindowCallback(hWnd, Msg, wParam, lParam) 
  Shared hButton, *WindowProc
  
  Select Msg 
     Case #WM_COMMAND 
       If hButton = lParam 
         PostMessage_(hWnd, #WM_CLOSE, 0, 0)
       EndIf  
     Case #WM_SIZE  
         WinW = lParam & $FFFF 
         WinH = (lParam >> 16 ) & $FFFF
         If WinW>0 And WinH>0
           GetWindowRect_(hWnd_Static2, Stat.RECT)
           MoveWindow_(hWnd_Static2, Stat\left,Stat\top,WinW-88, Stat\bottom, #True)
         EndIf
   EndSelect 
   
  ProcedureReturn CallWindowProc_(*WindowProc, hWnd, Msg, wParam, lParam) 
EndProcedure
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
10.07.2011, 12:06
Цитата Сообщение от SergeyA Посмотреть сообщение
Статический элемент скорее всего изменяет свои размеры, но картинка остаётся на том же месте
В коде не вижу этого
Цитата Сообщение от PB Посмотреть сообщение
нужно обязательно получить доступ к переменной hWnd_Static1 потому что по умолчанию она не глобальная и доступа к ней из процедуры нет.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2011, 12:06

Установка скинов для Visual Studio
Подскажите как ПРАВИЛЬНО устанавливать скины и где их брать?

Создание dll для Hook' ов
подскажите, что нужно прописать в dll файле и основном, чтобы программа считывала нажатия клавиш в блокноте?

Создание dll в delphi для 1С
Есть dll без исходников, для нее есть интерфейс на delphi. Стоит задача подружить эту библиотеку с 1С. На сколько понял с прочитанного в...

создание dll для подключения к бд oracle
Пытаюсь вынести подключение к бд oracle в dll. Подскажите, пожалуйста, как можно вынести строку подключения строка вида: ...

Создание dll для связи бд с API
Здравствуйте!Надо написать dll для связи БД c формой скажем так, единственное что я знаю это подключение к SQL базе с помощью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть не большие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru