Функции API CreateDesktop и CreateProcess - как их правильно вызвать? - VB

Узнай цену своей работы

Формулировка задачи:

Помогите с вызовом функции. Что не так? Например CreateProcess. Меняю стандартное объявление функции как:
Листинг программы
  1. Private Declare Function CreateDesktop Lib "user32" Alias "CreateDesktopA" (ByVal lpszDesktop As String, ByVal lpszDevice As String, pDevmode As DEVMODE, ByVal dwFlags As Long, ByVal dwDesiredAccess As Long, lpsa As SECURITY_ATTRIBUTES) As Long
На объявление:
Листинг программы
  1. Private Declare Function CreateDesktop Lib "user32" Alias "CreateDesktopA" (ByVal lpszDesktop As String, ByVal lpszDevice As String, ByVal pDevmode As Long, ByVal dwFlags As Long, ByVal dwDesiredAccess As Long, ByVal lpsa As Long) As Long
Вызываю функцию следующим образом:
Листинг программы
  1. Private Const DESKTOP_CREATEWINDOW = &H2&
  2. lngRetval = CreateDesktop("NewDeskTop", vbNull, vbNull, 0, DESKTOP_CREATEWINDOW, vbNull)
Как результат – фатальное исключение.

Решение задачи: «Функции API CreateDesktop и CreateProcess - как их правильно вызвать?»

textual
Листинг программы
  1. Private Declare Function CreateDesktop Lib "user32" Alias "CreateDesktopA" (ByVal lpszDesktop As String, ByVal lpszDevice As String, ByVal pDevmode As Long, ByVal dwFlags As Long, ByVal dwDesiredAccess As Long, ByVal lpsa As Long) As Long
  2.  
  3. Private Sub Command1_Click()
  4.  
  5.     Dim lnghNewDeskTop As Long
  6.    
  7.     Const DESKTOP_CREATEWINDOW = &H2&
  8.    
  9.     lnghNewDeskTop = CreateDesktop("NewDeskTop", vbNullString, 0, 0, DESKTOP_CREATEWINDOW, 0)
  10.    
  11. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы