• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
凌晨5点随波逐流
博客园    首页    新随笔    联系   管理    订阅  订阅

Windouwc程序设计基础学习

1.关于程序的基本执行

首先我们先重一个最基本的窗口程序执行说行,

CreateWindow()  学过Win32的都知道,创建一个窗口,会调用该函数系列类型,当然这只是一个类型,包括对话框,消息框等等都是一个窗口,下面进入主题

我要讲的是该函数内部的执行过程,声明一下,在看这本书之前,我之前学过WIN32的基本窗口程序设计,

第一个函数

函数介绍:CreateProcess() ,创建一个进程。

                  CloseHandle() ,关闭句柄

        GetStartupinfo()获得创建进程时的StartupInfo结构

结构体:  PROCESS_INFORMATION

      STARTUPINFO

代码如下

#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#include <tchar.h>

int main(int argc,char * argv[])
{
    char szCommandLine[] = "notepad";
    STARTUPINFO si = {sizeof(si)};
    PROCESS_INFORMATION pi;

    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = TRUE;

    BOOL bRet = ::CreateProcess(
        NULL,      
        szCommandLine,   
        NULL,  
        NULL,   
        FALSE,   
        CREATE_NEW_CONSOLE,
        NULL,
        NULL,
        &si,
        &pi);
    if(bRet)
    {
        ::CloseHandle(pi.hThread);
        ::CloseHandle(pi.hProcess);

        printf("新创建的进程ID号是:%d\n",pi.dwProcessId);
        printf("新创建的线程ID号是:%d\n",pi.dwThreadId);
    }


}

函数原型:

              CreateProcess(

    LPCSTR lpApplicationName, //可执行文件的名字

    LPSTR lpCommandLine, // 制定了要传递给执行模块的参数

               LPSECURITY_ATTRIBUTES  lpProcessAttributes // 进程安全性,值为NULL,表示使用默认的安全属性

    LPSECURITY_ATTRIBUTES  lpThreadAttributes //线程安全性,值为NULL ,表示使用默认的安全属性

    BOOL bInheritHandles, //制定了当前进程中可继承句柄是否可以被新进程继承

    DWORD dwCreationFlags // 指定了新进程的优先级及其他创建标志)

    LPVOID lpEnvironment,// 指定了新进程使用的环境变量

    LPCSTR lpCurrentDirectory // 新进程使用的当前目录

              LPSTARTUPINFO lpStartupinfo // 指定新进程主窗口中的位置,大小,和标准句柄等

    LPPROCESS_INFORMATION lpProcessInformation // 返回新建进程的标志信息

);

 

posted @ 2018-04-08 08:42  凌晨5点随波逐流  阅读(296)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3