Adobe Air NativeProcess与C ++ Windows(非控制台)应用程序的通信

时间:2013-04-04 11:47:25

标签: c++ flex air

如何在非控制台C ++应用程序中实现侦听器以侦听来自Adobe AIR的标准输入?
在C#console app中它看起来像:

namespace HelloNativeProcess
{
    class Program
    {
        static void Main(string[] args)
        {

            using (Stream stdin = Console.OpenStandardInput())
            using (Stream stdout = Console.OpenStandardOutput())
            {
                byte[] buffer = new byte[2048];
                int bytes;
                while ((bytes = stdin.Read(buffer, 0, buffer.Length)) > 0)
                {
                    stdout.Write(buffer, 0, bytes);
                }
            }
        }
    }
}

我需要在C ++中使用 APIENTRY winMain() - 启动函数的示例。 感谢。

1 个答案:

答案 0 :(得分:0)

找到答案。感谢Pete。

HANDLE thread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)CreateAppThread, (LPVOID)NULL, 0, NULL);

线程功能

 BOOL CreateAppThread()
    {       
        hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
        hStdin = GetStdHandle(STD_INPUT_HANDLE);
        CHAR buffer [2048];
        DWORD bytes_read, bytes_written;
            while(ReadFile( hStdin, buffer, sizeof(buffer), &bytes_read, NULL))
            {   
                WriteFile(hStdout, buffer, sizeof(buffer), &bytes_written, NULL);
            }       
            return TRUE;    
    }