Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194

Поиск в системе окон без заголовков

13.03.2016, 15:27. Показов 3060. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,у меня такой вопрос имеется несколько окон с одинаковыми именами классов которые не имеют заголовок (то есть "") Задача:найти второй по порядку сверху вниз?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2016, 15:27
Ответы с готовыми решениями:

Сделать форму поверх всех окон в системе
Public Class Form2 Dim i As Integer = 0 Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)...

Получение заголовков окон
Здравствуйте, по таймеру срабатывает следующее событие: wofstream log("log.log", ios::out | ios::app); HWND handle =...

Анализ заголовков окон с условием
Добрый день уважаемые специалисты. Нужно разработать приложение которое будет отслеживать заголовки окон всех приложений и при обнаружении...

21
Модератор
Эксперт .NET
 Аватар для Yury Komar
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
15.03.2016, 12:27
AlisherUser, получите все окна этого класса и уже там выбирайте нужный
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
15.03.2016, 13:52  [ТС]
Цитата Сообщение от Yury Komar Посмотреть сообщение
получите все окна этого класса и уже там выбирайте нужный
но как это сделать ???
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
15.03.2016, 15:39
Как нибудь так:
VB.NET
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
Imports System.IO, System.Diagnostics
Imports System.Runtime.InteropServices
 
Module Module1
 
    <DllImport("user32.dll", EntryPoint:="GetWindowText")>
    Public Function GetWindowText(ByVal hwnd As Integer, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
    Public Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
    End Function
 
    Public Delegate Function CallBackPtr(hwnd As Integer, lParam As Integer) As Boolean
 
    Sub Main()
        Dim callBackPtr As CallBackPtr = New CallBackPtr(AddressOf EnumReport.Report)
        EnumReport.EnumWindows(callBackPtr, 0)
        Console.Read()
    End Sub
 
    Public Class EnumReport
        <DllImport("user32.dll")>
        Public Shared Function EnumWindows(callPtr As CallBackPtr, lPar As Integer) As Integer
        End Function
 
        Public Shared Function Report(hwnd As Integer, lParam As Integer) As Boolean
            Console.WriteLine("Window handle is " & GetText(hwnd) & ".")
            Return True
        End Function
    End Class
 
    Public Function GetText(ByVal hWnd As IntPtr) As String
        Dim length As Integer
        If hWnd.ToInt32 = 0 Then
            Return Nothing
        End If
        length = GetWindowTextLength(hWnd)
        If length = 0 Then
            Return Nothing
        End If
        Dim sb As New System.Text.StringBuilder("", length)
 
        GetWindowText(hWnd, sb, sb.Capacity + 1)
        Return sb.ToString()
    End Function
 
End Module
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
15.03.2016, 19:11  [ТС]
Вот так я копировал код и у меня ошибка Код Процедуры main я переместил class form1 Button1.click
VB.NET
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
Imports System.IO, System.Diagnostics
Imports System.Runtime.InteropServices
 
Module Module1
    <DllImport("user32.dll", EntryPoint:="GetWindowText")>
    Public Function GetWindowText(ByVal hwnd As Integer, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
    Public Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
    End Function
 
    Public Delegate Function CallBackPtr(hwnd As Integer, lParam As Integer) As Boolean
    Public Class Form1
        Dim callBackPtr As CallBackPtr = New CallBackPtr(AddressOf EnumReport.Report)
        EnumReport.EnumWindows(callBackPtr, 0)
        Console.Read()
    End Class
    Public Class EnumReport
        <DllImport("user32.dll")>
        Public Shared Function EnumWindows(callPtr As CallBackPtr, lPar As Integer) As Integer
        End Function
 
        Public Shared Function Report(hwnd As Integer, lParam As Integer) As Boolean
            Console.WriteLine("Window handle is " & GetText(hwnd) & ".")
            Return True
        End Function
    End Class
 
    Public Function GetText(ByVal hWnd As IntPtr) As String
        Dim length As Integer
        If hWnd.ToInt32 = 0 Then
            Return Nothing
        End If
        length = GetWindowTextLength(hWnd)
        If length = 0 Then
            Return Nothing
        End If
        Dim sb As New System.Text.StringBuilder("", length)
 
        GetWindowText(hWnd, sb, sb.Capacity + 1)
        Return sb.ToString()
    End Function
End Module
Ошибка у меня здесь:
VB.NET
1
2
 EnumReport.EnumWindows(callBackPtr, 0)
        Console.Read()
Текст ошибки:Требуется объявление
И я не понял куда мне писать имя класса которого я хочу найти!
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
15.03.2016, 19:22
EnumWindow - вернет все дескрипторы.

Добавлено через 1 минуту
А EnumChildWindows - перечисление всех дочерних процессов.

Добавлено через 1 минуту
И GetText - это я просто привел имена всех окон.

Добавлено через 59 секунд
Это что за пример выше?
0
Модератор
Эксперт .NET
 Аватар для Yury Komar
4358 / 3428 / 512
Регистрация: 27.01.2014
Сообщений: 6,258
15.03.2016, 19:25
посмотрите внимательно где у вас кочается класс, где модуль и что вы вооще делаете?
модуль... разнесите все грамотно.
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
15.03.2016, 20:07  [ТС]
Цитата Сообщение от Jason Посмотреть сообщение
Это что за пример выше?
Я хотел выполнить команду при нажатый на Button но по моему не получилось.
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
15.03.2016, 20:25
Там просто муть какая-то .
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Imports System.IO
Imports System.Runtime.InteropServices
 
Public Class Form1
 
    Public Delegate Function CallBackPtr(hwnd As Integer, lParam As Integer) As Boolean
 
    Public Class EnumReport
        <DllImport("user32.dll")>
        Public Shared Function EnumWindows(callPtr As CallBackPtr, lPar As Integer) As Integer
        End Function
 
        Public Shared Function Report(hwnd As Integer, lParam As Integer) As Boolean
            Form1.ListBox1.Items.Add(hwnd.ToString)
            Return True
        End Function
    End Class
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim callBackPtr As CallBackPtr = New CallBackPtr(AddressOf EnumReport.Report)
        EnumReport.EnumWindows(callBackPtr, 0)
    End Sub
 
End Class
Добавлено через 10 минут
Цитата Сообщение от AlisherUser Посмотреть сообщение
И я не понял куда мне писать имя класса которого я хочу найти!
Ну получаем же дескрипторы окон, кто мешает получить имя класса:
VB.NET
1
2
3
4
5
6
    Public Shared Function RealGetWindowClassM(hWnd As IntPtr) As String
        Dim pszType As New StringBuilder()
        pszType.Capacity = 255
        RealGetWindowClass(hWnd, pszType, pszType.Capacity)
        Return pszType.ToString()
    End Function
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
15.03.2016, 20:28  [ТС]
Покажите пример пожалуйста
Задача:Имеется окно Выполнить надо вытащить текст из его элемента(смотрите скрин) допуская что мы не знаем заголовок этого элемента (то есть текст окно)но знаем его класс(Static) но имеются несколько элементов с такими же названиями в этом окне.
Миниатюры
Поиск в системе окон без заголовков  
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
15.03.2016, 20:34
Получили дескриптор программы, перебрали все дескрипторы "элементов", выбрали все с именем класса Static, а дальше я думаю они всегда в одном порядке (никогда честно говоря не проверял).
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
15.03.2016, 20:44  [ТС]
Цитата Сообщение от Jason Посмотреть сообщение
перебрали все дескрипторы "элементов", выбрали все с именем класса Static
Вот как этот сделать КАК.Ну покажите пример пожалуйстааааааааа!

Добавлено через 2 минуты
Цитата Сообщение от Jason Посмотреть сообщение
никогда честно говоря не проверял
За одно и будте проверять всё.
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
15.03.2016, 21:19
Лучший ответ Сообщение было отмечено AlisherUser как решение

Решение

Дальше думайте сами:
VB.NET
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
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Text
 
Public Class Form1
 
    <DllImport("user32.dll")>
    Private Shared Function EnumChildWindows _
        (ByVal WindowHandle As IntPtr, ByVal Callback As EnumWindowProcess,
        ByVal lParam As IntPtr) As Boolean
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
    Private Shared Function FindWindow(
     ByVal lpClassName As String,
     ByVal lpWindowName As String) As IntPtr
    End Function
    <DllImport("user32.dll", SetLastError:=True)>
    Private Shared Function RealGetWindowClass(ByVal hWnd As IntPtr,
                        ByVal lpString As StringBuilder,
                        ByVal nMaxCount As Integer) As Integer
    End Function
 
    Public Delegate Function EnumWindowProcess(ByVal Handle As IntPtr, ByVal Parameter As IntPtr) As Boolean
 
    Public Shared Function GetChildWindows(ByVal ParentHandle As IntPtr) As IntPtr()
        Dim ChildrenList As New List(Of IntPtr)
        Dim ListHandle As GCHandle = GCHandle.Alloc(ChildrenList)
        Try
            EnumChildWindows(ParentHandle, AddressOf EnumWindow, GCHandle.ToIntPtr(ListHandle))
        Finally
            If ListHandle.IsAllocated Then ListHandle.Free()
        End Try
        Return ChildrenList.ToArray
    End Function
 
    Private Shared Function EnumWindow(ByVal Handle As IntPtr, ByVal Parameter As IntPtr) As Boolean
        Dim ChildrenList As List(Of IntPtr) = GCHandle.FromIntPtr(Parameter).Target
        If ChildrenList Is Nothing Then Throw New Exception("ERROR!")
        ChildrenList.Add(Handle)
        Return True
    End Function
 
    Public Shared Function RealGetWindowClassM(hWnd As IntPtr) As String
        Dim pszType As New StringBuilder()
        pszType.Capacity = 255
        RealGetWindowClass(hWnd, pszType, pszType.Capacity)
        Return pszType.ToString()
    End Function
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim HWND As IntPtr = FindWindow(vbNullString, "Выполнить")
        Dim Parent() As IntPtr = GetChildWindows(HWND)
        For I As Integer = 0 To Parent.Count - 1 Step 1
            ListBox1.Items.Add(RealGetWindowClassM(Parent(I)))
        Next
    End Sub
 
End Class
P.S. Запустить "Выполнить".

Добавлено через 3 минуты
В Parent() - все дескрипторы контролов (если приложение запущено).
Получаем их классы с помощью RealGetWindowClassM - скармливаем ему дескриптор.
Только нужно высчитать какой по счету нам нужен.

Добавлено через 4 минуты
Вроде возвращает в таком-же порядке, как и Spy.

Добавлено через 4 минуты
Ну и соответственно получаем текст функцией GetText - как я писал выше.
3
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
16.03.2016, 06:33  [ТС]
Спасибо ребята я там добавил свой код и у меня получилось
VB.NET
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
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Text
 
Public Class Form1
 
    <DllImport("user32.dll")>
    Private Shared Function EnumChildWindows _
        (ByVal WindowHandle As IntPtr, ByVal Callback As EnumWindowProcess,
        ByVal lParam As IntPtr) As Boolean
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
    Private Shared Function FindWindow(
     ByVal lpClassName As String,
     ByVal lpWindowName As String) As IntPtr
    End Function
    <DllImport("user32.dll", SetLastError:=True)>
    Private Shared Function RealGetWindowClass(ByVal hWnd As IntPtr,
                        ByVal lpString As StringBuilder,
                        ByVal nMaxCount As Integer) As Integer
    End Function
 
    Public Delegate Function EnumWindowProcess(ByVal Handle As IntPtr, ByVal Parameter As IntPtr) As Boolean
 
    Public Shared Function GetChildWindows(ByVal ParentHandle As IntPtr) As IntPtr()
        Dim ChildrenList As New List(Of IntPtr)
        Dim ListHandle As GCHandle = GCHandle.Alloc(ChildrenList)
        Try
            EnumChildWindows(ParentHandle, AddressOf EnumWindow, GCHandle.ToIntPtr(ListHandle))
        Finally
            If ListHandle.IsAllocated Then ListHandle.Free()
        End Try
        Return ChildrenList.ToArray
    End Function
 
    Private Shared Function EnumWindow(ByVal Handle As IntPtr, ByVal Parameter As IntPtr) As Boolean
        Dim ChildrenList As List(Of IntPtr) = GCHandle.FromIntPtr(Parameter).Target
        If ChildrenList Is Nothing Then Throw New Exception("ERROR!")
        ChildrenList.Add(Handle)
        Return True
    End Function
 
    Public Shared Function RealGetWindowClassM(hWnd As IntPtr) As String
        Dim pszType As New StringBuilder()
        pszType.Capacity = 255
        RealGetWindowClass(hWnd, pszType, pszType.Capacity)
        Return pszType.ToString()
    End Function
    Function MY_text_Class(ByVal window As IntPtr) As String
        Dim Length As Integer = GetWindowTextLength(window)
        Dim StrBuilder As System.Text.StringBuilder = New System.Text.StringBuilder(Length + 1)
        GetWindowText(window, StrBuilder, StrBuilder.Capacity)
        Return StrBuilder.ToString
    End Function
    <DllImport("user32.dll", EntryPoint:="GetWindowText")>
    Private Shared Function GetWindowText(ByVal hwnd As Integer, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    Private Shared Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
    End Function
    Const WM_SETTEXT = &HC
    Const VK_SPACE = &H20
    Const WM_KEYDOWN = &H100
    Const WM_KEYUP = &H101
    Const BM_CLICK As Integer = &HF5
    Const BST_CHECKED As Integer = &H1
    Const BM_GETSTATE As Integer = &HF2
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim HWND As IntPtr = FindWindow(vbNullString, "Выполнить")
        Dim Parent() As IntPtr = GetChildWindows(HWND)
        For I As Integer = 0 To Parent.Count - 1 Step 1
            ListBox1.Items.Add(RealGetWindowClassM(Parent(I)))
        Next
        MsgBox(MY_text_Class(Parent(1)))
    End Sub
End Class
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
16.03.2016, 07:15  [ТС]
Задача:Найти Окно скачки Internet Download mananger(cкрин)
Ребята возникло ещё одно проблема теперь Имеется несколько одинаковых по классу родительских окон как мне найти 3 -тую .Верхная функция находит всегда дочерченную окно
VB.NET
1
Dim HWND As IntPtr = FindWindow("#32770 (Диалоговое окно)", vbNullString)'находит всегда первую
Миниатюры
Поиск в системе окон без заголовков  
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
16.03.2016, 08:24
Цитата Сообщение от AlisherUser Посмотреть сообщение
Ребята возникло ещё одно проблема теперь Имеется несколько одинаковых по классу родительских окон как мне найти 3 -тую .Верхная функция находит всегда дочерченную окно
Это шутка? Я же выше показала: пост выше.
0
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
16.03.2016, 09:22  [ТС]
Цитата Сообщение от Jason Посмотреть сообщение
Это шутка? Я же выше показала
Я не понял где писать класс окно. покажите пример пожалуйста с элементами управления(Textbox1.text)(скрин)
В listbox вывелась все заголовки с данным классом.
Миниатюры
Поиск в системе окон без заголовков  
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
16.03.2016, 09:47
Я же дал, достаточно информации, вам только оставалось - скопировать - вставить...
Вот, находим MozillaWindowClass (класс браузера), выводим имена всех окон, их класс и сам дескриптор.
VB.NET
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
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Text
 
Public Class Form1
    <DllImport("user32.dll", EntryPoint:="GetWindowText")>
    Public Shared Function GetWindowText(ByVal hwnd As Integer, ByVal lpString As System.Text.StringBuilder, ByVal cch As Integer) As Integer
    End Function
    <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
    Public Shared Function GetWindowTextLength(ByVal hwnd As IntPtr) As Integer
    End Function
    <DllImport("user32.dll", SetLastError:=True)>
    Private Shared Function RealGetWindowClass(ByVal hWnd As IntPtr,
                        ByVal lpString As StringBuilder,
                        ByVal nMaxCount As Integer) As Integer
    End Function
 
    Public Delegate Function CallBackPtr(hwnd As Integer, lParam As Integer) As Boolean
 
    Public Shared Function GetText(ByVal hWnd As IntPtr) As String
        Dim length As Integer
        If hWnd.ToInt32 = 0 Then
            Return Nothing
        End If
        length = GetWindowTextLength(hWnd)
        If length = 0 Then
            Return Nothing
        End If
        Dim sb As New System.Text.StringBuilder("", length)
 
        GetWindowText(hWnd, sb, sb.Capacity + 1)
        Return sb.ToString()
    End Function
 
    Public Shared Function RealGetWindowClassM(hWnd As IntPtr) As String
        Dim pszType As New StringBuilder()
        pszType.Capacity = 255
        RealGetWindowClass(hWnd, pszType, pszType.Capacity)
        Return pszType.ToString()
    End Function
 
    Public Class EnumReport
        <DllImport("user32.dll")>
        Public Shared Function EnumWindows(callPtr As CallBackPtr, lPar As Integer) As Integer
        End Function
 
        Public Shared Function Report(hwnd As Integer, lParam As Integer) As Boolean
            If RealGetWindowClassM(hwnd) = "MozillaWindowClass" Then
                Form1.ListBox1.Items.Add("Name Window: """ & GetText(hwnd) & """ | Name Class: """ & RealGetWindowClassM(hwnd) & """ | Handle: """ & hwnd.ToString & """")
            End If
            Return True
        End Function
    End Class
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim callBackPtr As CallBackPtr = New CallBackPtr(AddressOf EnumReport.Report)
        EnumReport.EnumWindows(callBackPtr, 0)
    End Sub
 
End Class
3
0 / 0 / 0
Регистрация: 25.02.2016
Сообщений: 194
16.03.2016, 18:09  [ТС]
А почему когда я изменяю код которому присваивается имя класса у меня нечего не выводится на ListBox хотя таких классов много.Вот код:
VB.NET
1
2
3
...
 If RealGetWindowClassM(hwnd) = "#32770 (Диалоговое окно)" Then
...
Этот класс окно скачки программы Internet download manager о котором я упоминал выше!
0
525 / 487 / 99
Регистрация: 25.12.2011
Сообщений: 1,176
16.03.2016, 18:26
Цитата Сообщение от AlisherUser Посмотреть сообщение
А почему когда я изменяю код которому присваивается имя класса у меня нечего не выводится на ListBox хотя таких классов много.Вот код:
Ну так выведете классы всех окон, и посмотрите:
VB.NET
1
Form1.ListBox1.Items.Add(RealGetWindowClassM(hwnd))
У "Выполнить" будет класс #32770, а не #32770 (Диалоговое окно).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.03.2016, 18:26
Помогаю со студенческими работами здесь

Странные странности. Получение заголовков окон
Странные странности... В потоке получаю список заголовков окон. И если есть конект пишу в бд, если нету пишу в файл. Но почему то работает...

Изменение заголовков окон всех запущенных программ
Подскажите, пожалуйста, или дайте пример кода, где с помощью механизма сообщений можно изменять заголовки сторонних запущенных программ (те...

Выведение списка заголовков всех окон с рабочего стола
Здравствуйте всем, требуется помощь по выведению списка всех существующих на рабочем столе окон (их заголовки). Использовать для этого...

Использование команды system(); Без всяких окон (без dos и т.д)
Вообще реально сделать чтобы обратиться к системе в фоновом режиме. Без отрытия dos. Без всякой командной строки. Просто чтоб запускал...

HTTP-Аудентификация без отправки заголовков пользователю
Всем известна HTTP-Аутентификация, которую можно произвести посредством файла .htaccess, или послав соответствующие заголовки пользователю....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru