鱼C论坛

 找回密码
 立即注册
查看: 4257|回复: 7

C语言编程无法找到stdafx.h

[复制链接]
发表于 2013-5-15 21:12:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 bigfatcat 于 2013-5-16 08:34 编辑

编译一段代码的时候出现这个问题c:\documents and settings\administrator\桌面\1\1.c(4) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory


  1. #include<windows.h>
  2. #include<tlhelp32.h>
  3. #include "stdio.h"
  4. #include "stdafx.h"
  5. int main(int argc,char * argv[])
  6. {
  7.         PROCESSENTRY32 pe32;
  8.         pe32.dwSize = sizeof(pe32);
  9.         HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  10.         if (hProcessSnap == INVALID_HANDLE_VALUE)
  11.         {
  12.                 printf("CreateToolhelp32Snapshot 调用失败! \n");
  13.                 return -1;
  14.         }
  15.         BOOL bResult = Process32First(hProcessSnap, &pe32);
  16.         while(bResult)
  17.         {
  18.                 printf("进程名称:%s \n",pe32.szExeFile);
  19.                 printf("进程ID: %u \n\n",pe32.the32ProcessID);
  20.                 bResult = Process32Next(hProcessSnap, &pe32);
  21.         }
  22.         CloseHandle(hProcessSnap);
  23.         return 0;
  24. }
复制代码
如何解决?求教老鸟
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-15 21:35:59 | 显示全部楼层
代码看似不长,就是看不懂!!!!!:Q
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-16 08:33:27 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 08:46:27 | 显示全部楼层
因此,所有的MFC实现文件第一条语句都是:#include "stdafx.h"。在它前面的所有代码将被忽略,所以其他的头文件应该在这一行后面被包含。否则,你将会得到“No such file or directory”这样让你百思不得其解的错误提示。

这是网上看好到的 ,我也困惑很久了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-16 09:27:34 | 显示全部楼层
づ綄镁の爱ヽ 发表于 2013-5-16 08:46
因此,所有的MFC实现文件第一条语句都是:#include "stdafx.h"。在它前面的所有代码将被忽略,所以其他的头 ...

兄台,我已经把他移动到第一个了,还是老样子....还是错误:
  1. .cpp(1) : fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory
复制代码
我把stdafx.h放到同一目录结果错线如下情况:
  1. c:\program files\microsoft visual studio\vc98\mfc\include\afxv_w32.h(14) : fatal error C1189: #error :  WINDOWS.H already included.  MFC apps must not #include <windows.h>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 13:47:13 | 显示全部楼层
bigfatcat 发表于 2013-5-16 08:33
我去,光说些没用的,说点有用的啊!

关键是不会啊!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-5-16 13:48:33 | 显示全部楼层
Skyline 发表于 2013-5-16 13:47
关键是不会啊!!!!!!

兄台,问一下你这段代码想实现啥功能啊????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-5-16 18:41:12 | 显示全部楼层
本帖最后由 bigfatcat 于 2013-5-16 18:42 编辑
Skyline 发表于 2013-5-16 13:48
兄台,问一下你这段代码想实现啥功能啊????

已经搞定了,读取系统进程的pid号
你懂的,然后你就可以
写了一个win32的版本,目前还在改,有很多地方有错:

  1.             .386                           
  2.             .model flat,stdcall            
  3.             option casemap:none            

  4. include           windows.inc
  5. include           user32.inc
  6. includelib        user32.lib
  7. include           kernel32.inc
  8. includelib        kernel32.lib

  9.                         .const

  10. szCaption        db         '失败了',0
  11. szText                 db         '调用CreateToolhelp32Snapshot失败',0






  12.                 .code


  13. _Process         proc uses        eax ebx edi esi
  14.                 local        @stPe32:PROCESSENTRY32
  15.                 local        @stPinfo:PROCESS_INFORMATION
  16.                 mov @stPe32.dwSize,sizeof @stPe32
  17.                 invoke CreateToolhelp32Snapshot,TH32CS_SNAPPROCESS,NULL
  18.                 .if eax == INVALID_HANDLE_VALUE
  19.                         invoke MessageBox,NULL,offset szText,\
  20.                         offset szCaption,MB_OK
  21.                 .endif
  22.                 mov ebx,eax
  23.                 invoke Process32First,ebx,addr @stPe32
  24.                 .while eax
  25.                         invoke MessageBox,NULL,@stPe32.szExeFile,offset szCaption,MB_OK
  26.                         invoke MessageBox,NULL,@stPe32.th32ProcessID,offset szCaption,MB_OK
  27.                 .endw

  28.                 invoke CloseHandle,ebx
  29.                 ret
  30. _Process        endp
  31. start:        

  32.                 call _Process
  33.                 invoke        ExitProcess,NULL
  34. end start
复制代码
  1. #include<windows.h>
  2. #include<tlhelp32.h>
  3. #include "stdio.h"

  4. int main(int argc,char * argv[])
  5. {
  6.         PROCESSENTRY32 pe32;
  7.         pe32.dwSize = sizeof(pe32);
  8.         HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  9.         if (hProcessSnap == INVALID_HANDLE_VALUE)
  10.         {
  11.                 printf("CreateToolhelp32Snapshot 调用失败! \n");
  12.                 return -1;
  13.         }
  14.         BOOL bResult = Process32First(hProcessSnap, &pe32);
  15.         while(bResult)
  16.         {
  17.                 printf("进程名称:%s \n",pe32.szExeFile);
  18.                 printf("进程ID: %u \n",pe32.th32ProcessID);
  19.                 bResult = Process32Next(hProcessSnap, &pe32);
  20.         }
  21.         CloseHandle(hProcessSnap);
  22.         return 0;
  23. }
复制代码

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 10:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表