CreateProcess的命令行参数的长度

这里先描述一下遇到的问题:

 

共有2个进程, 进程A, 进程B. A通过CreateProcess来启动进程B, 启动的时候带有参数, 参数是一长串字符串, 里面就是用逗号隔开的一些IP地址.

 

起初一直都没有事, 一直到1年多以后, 当这个IP地址的数量是17, 在增加一个到18, 那么这个程序立即就出问题, 这里的这个程序指的是A. 弹出windows错误框, 是说程序在某处发生异常.

继续阅读

Posted in Windows | Tagged | Leave a comment

installshiled12 添加和删除发布版本

一般创建installshield的工程的时候就会要求输入版本的名称, 这样我们就有了一个版本.

 

但是往往我们创建一个工程以后还想往一面添加其他的版本, 如我现在做的这个工程就有4个语言版本, 这样我创建这个工程的时候就会指定一种版本, 但是其他的3种都是通过添加完成的. 那么怎么添加呢? 其实很简单:

继续阅读

Posted in Installshield | Tagged | Leave a comment

D3D 材质和灯光

我们在生活中看到的光有环境光, 漫反射光以及璄面反射光还有物体本身发射的光. 因此我们在定义材质时就要描述对这些光反应.

看看材质结构体的定义:

 

typedef struct _D3DMATERIAL9 {
    D3DCOLORVALUE   Diffuse;        /* Diffuse color RGBA */
    D3DCOLORVALUE   Ambient;        /* Ambient color RGB */
    D3DCOLORVALUE   Specular;       /* Specular ‘shininess’ */
    D3DCOLORVALUE   Emissive;       /* Emissive color RGB */
    float           Power;          /* Sharpness if specular highlight */
} D3DMATERIAL9;

继续阅读

Posted in DirectX3D | Tagged | Leave a comment

d3d全屏模式

d3d全屏模式

通常我们创建的d3d程序时都是非全屏模式, 但是游戏大部分是全屏模式, 怎么创建这两种模式呢?

创建的时候有2点不同: 创建窗口, 创建设备.

1. 创建普通模式:

a. 创建窗口:

    m_hMainWin = CreateWindowW( m_szWinClsName, m_szWinTitle, WS_OVERLAPPEDWINDOW
,

继续阅读

Posted in DirectX3D | Tagged | Leave a comment

深度缓冲

深度缓冲

因为当时没有理解这个东西, 导致自己写的一个小的测试程序无论如何不能按照自己的设想的方式工作.

1. 预期目标:

在世界空间中放置一个圆面, 一个正方形面, 还有一个三棱锥体. 让这三个模型围绕世界坐标系Y轴转动.

继续阅读

Posted in DirectX3D | Tagged | Leave a comment

D3D中可以变换的坐标系

D3D中可以变换的坐标系

d3d中能变换的坐标系有模型坐标系, 观察坐标系. 还有投影坐标系.

模型坐标系的变换是通过下面方式完成:

SetTransform( D3DTS_WORLD, &matWorld );

这个变换通常用来变换模型在世界坐标系中的位置. matWorld矩阵就是指明模型坐标系与世界坐标系之间的变换关系.

继续阅读

Posted in DirectX3D | Tagged | Leave a comment

D3D中的坐标系

D3D中的坐标系  

D3D中有几个坐标系, 模型坐标系, 世界坐标系, 观察坐标系, 投影坐标系. 这里先简述一下模型坐标系和世界坐标系的概念和关系.

模型坐标系又称本地坐标系. 是为了方便建立模型, 不用去考虑所要建的模型在世界坐标系中的位置及方向. 建模型时, 只用考虑模型中各个顶点对应本地坐标系的位置就可以. 我们3DMax输出的模型文件.其中的对应的坐标系就是模型坐标系.

继续阅读

Posted in DirectX3D | Tagged | Leave a comment

有些exe,dll删除不了怎么办

有些exe,dll删除不了怎么办 

有时候,我们发现有些exe, dll文件死活删除不了, 怎么办.

我们首先想到的是肯定有个程序正在使用它, 我们只要在进程里找到这个进程, 把它关掉就可以. 可问题是我们怎么知道是那个进程正在使用这个文件呢. 那就用微软提供的工具就process explore. 打开它, 在工具栏上看到有个望远镜的图标(查找句柄或dll), 点击它, 在弹出的框中输入对应的exe或者dll,就会看看是那个进程正在使用它.

继续阅读

Posted in 杂项 | Tagged | Leave a comment

一款很好的远程控制软件

一款很好的远程控制软件

有时候在外面想控制公司的电脑, 如想查看邮件, 或者忘了带某些资料, 要从公司的电脑上取些资料回来, 就想用远程控制.曾用lava-lava但是发现这个软件的远程控制功能非常的不好用, 一启动这个功能, lava-lava就挂掉. 没法用. 后来就在网上, 试用其他的,如RemoteVNC,发现不可以. 最后终于找到一款非常不错的, 叫TeamViewer.

继续阅读

Posted in 杂项 | Tagged | Leave a comment

MySql的服务启动不了

MySql的服务启动不了  

前段时间安装MySQL, 非常顺利, 很快就安装了, 然后经过简单的配置. 进入MySQL的控制台, 输入密码. 然后就顺利地进入到了工作状态.

但是当我第二天进入MySQL的控制台, 输入密码时, 滴的一声后,整个控制台就消失了.重新试了几次, 问题依旧. 就上网百度一下,发现有不少人遇到同样的问题, 很多人都说时my.ini配置错误, 于是打开my.ini按照网上的说的修改, 然后重新启动服务,结果还是不可以. 于是没有办法,就重新安装吧. 重装, 可是在配置到最后一步时,死活完成不了(因为那个步骤就有启动服务的, 服务始终启动不了). 又重新上网找.终于找到解决问题的办法:

继续阅读

Posted in 杂项 | Leave a comment