Просмотр "Уроки Visual Basic.NET"

SetParent — дочернее окно в свое окно

В данном примере, мы откроем дочернее окно в своем окне и в этом нам поможет SetParent

Функция SetParent заменяет родительское окно заданного дочернего окна.

Public Class Form1
    Private Declare Function SetParent Lib "user32" (ByVal hWndChild As Integer, ByVal hWndNewParent As Integer) As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim OPF As New OpenFileDialog
        Dim prc As New Process
        OPF.Filter = ".EXE|*.exe"
        If OPF.ShowDialog = DialogResult.OK Then
            WindowState = FormWindowState.Maximized
            prc = Process.Start(OPF.FileName) ' запускаем процесс
        End If
        prc.WaitForExit(1000) ' маленькая задержка для появления окна, хоть WaitForExit совсем не для этой цели
        SetParent(prc.MainWindowHandle.ToInt32, Me.Handle.ToInt32) ' приминяем
    End Sub
End Class

setparent 438x350 SetParent   дочернее окно в свое окно

Подробнее »

  Метки: , , , ,
  Евгений
  Просмотров: 5 210
  Запись опубликована в 21:02

Изменение фона

А точнее, изменение фона у экрана входа в Windows 7, экрана блокировки, экрана смены пользователя, но вообщем Вы меня поняли, а если кто не понял, то вот:

winstart1 300x204 Изменение фона

Процесс смены фона вручную описан в этом источнике, но нас интересует, как реализовать это программным способом.

Подробнее »

  Метки: , , , ,
  Евгений
  Просмотров: 3 458
  Запись опубликована в 11:18

Уровень заряда батареи на ноутбуке

Как узнать уровень заряда батареи на ноутбуке? Да, довольно просто!

На помощь приходит API функция - GetSystemPowerStatus

С помощью данной функции, можно определить:

  • уровень заряда аккумулятора (батареи в ноутбуке или ИБП)
  • подключен ли к сети:
    • 0 - не подключен к сети
    • 1 - подключен к сети
    • 255 - неизвестно
  • заряд батареи (высокий, нормальный, низкий и т.д)
  • время работы от батареи
  • максимальное время работы от батареи

battery Уровень заряда батареи на ноутбуке

Подробнее »

  Метки: , , , , , ,
  Евгений
  Просмотров: 9 996
  Запись опубликована в 07:55

XML-комментарии

Каждый XML-комментарий в C#, начинается с трех слэшей «///», а в Visual Basic.NET с трех одиночных кавычек (апострофов) «' ' '». В C#, обычные комментарии начинаются с двух слэшей, а третий слэш говорит синтаксическому анализатору, что это XML-комментарий. В барсике, аналогично, только обычный комментарий начинается с одной, одиночной кавычки.

Для чего же нужны XML-комментарии? 

Парсить XML-файл настоящий кайф, то бишь, ничего сложного в этом нет, так вот, одним из главных особенностей XML-комментариев является создание документации прямо из исходных файлов проекта, а так же документация самого кода - классы, процедуры, модули, структуры, функций, их аргументы (параметры). С помощью синтаксического анализатора (parser'a) можно раскрывать теги XML-комментария, внутри которого, находится дополнительная информация.

Подробнее »

  Метки: , , ,
  Евгений
  Просмотров: 16 570
  Запись опубликована в 08:52

Запрет отпускания элемента

Нашел опять давний проект, который писал для форума. Смысл заключается в том, чтобы перетащить объект через другой, но отпускать его - нельзя. Решил поделиться. Ничего сложного нет.

peretask Запрет отпускания элемента

Загрузить проект

  Метки: ,
  Евгений
  Просмотров: 2 096
  Запись опубликована в 07:31

Вычисление дискриминанта и его корней

Консольный вариант вычисления дискриминанта и его корней на Visual Basic.NET и C#

Формовый вариант

Module Module1
    Sub Main()
        Disc() 'при запуске, вызываем процедуру ↓
    End Sub
    Sub Disc()
        Dim a, b, c, x1, x2, D As Double
        'ввод значений
        Console.WriteLine("Введите значение переменной A")
        a = Console.ReadLine()
        Console.WriteLine("Введите значение переменной B")
        b = Console.ReadLine
        Console.WriteLine("Введите значение переменной C")
        c = Console.ReadLine()
        D = b ^ 2 - (4 * a * c) 'вычисление дискриминанта
        Console.WriteLine("Дискриминант = " & D)
        'два корня
        If D > 0 Then
            Console.WriteLine("Два корня:")
            x1 = (-b + Math.Sqrt(D)) / (2 * a)
            x2 = (-b - Math.Sqrt(D)) / (2 * a)
            Console.WriteLine("X1 = " & x1 & vbNewLine & "X2 = " & x2)
            'один корень
        ElseIf D = 0 Then
            Console.WriteLine("Один корень:")
            x1 = -b / (2 * a)
            Console.WriteLine("X = " & x1)
            'нет корней
        Else
            Console.WriteLine("Нет корней")
        End If
        'сообщение, если захотим решить новое уравнение - нужно нажать клавишу Enter
        Console.WriteLine("Решить новое? Нажмите клавишу Enter...")
        Dim k As ConsoleKeyInfo = Console.ReadKey
        If k.Key = ConsoleKey.Enter Then
            Console.Clear()
            Disc()
        End If
    End Sub
End Module

discr 300x178 Вычисление дискриминанта и его корней

Дискриминант.zip

  Метки: , ,
  Евгений
  Просмотров: 5 481
  Запись опубликована в 12:40

Завершение работы, перезагрузка, блокировка компьютера

В продолжение к

Хотелось бы рассказать еще про один способ завершения работы компьютера.

Изначально хотел написать про API функцию ExitWindowsEx, но нашел более адекватный вариант с помощью WMI.

Windows Management Instrumentation (WMI) в дословном переводе — это инструментарий управления Windows. Если говорить более развернутo, то WMI — это одна из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows.                                                   https://ru.wikipedia.org/wiki/WMI 

Первое, что мы сделаем, это добавим ссылку на System.Management, для этого нажимаем Проект->Добавить ссылку

sysman 300x238 Завершение работы, перезагрузка, блокировка компьютера

Подробнее »

  Метки: , , , , ,
  Евгений
  Просмотров: 5 499
  Запись опубликована в 15:33

Страниц:1234567...17»