Возникла у меня идея запускать некую функцию в wincc 6.2 в новом потоке (не спрашивайте зачем, просто надо!). Как Вы считаете, это возможно выполнить чере CreateThread из kernel32.dll или эта функция не может работать в wincc? Дело в том, что я ее импортирую, а при ее вызове падает script.exe
Пишу так:
Code: Select all
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
typedef struct _SECURITY_ATTRIBUTES {
DWORD nLength;
LPVOID lpSecurityDescriptor;
BOOL bInheritHandle;
} SECURITY_ATTRIBUTE, *LPSECURITY_ATTRIBUTE;
#pragma code("kernel32.dll")
void * CreateThread(
LPSECURITY_ATTRIBUTE lpThreadAttributes,
unsigned long dwStackSize,
void * lpStartAddress,
void * lpParameter,
DWORD dwCreationFlags,
DWORD * lpThreadId
);
#pragma code()
CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
}
Code: Select all
#include "apdefap.h"
void ThreadFunc()
{
//Пока ничего нет, но подразумевается, что будет.
//Но и без ничего не работает!
}
З.Ы.
Вообще функция д.б. с параметром. Но не работает даже без параметров.