鱼C论坛

 找回密码
 立即注册
楼主: 小甲鱼

[技术交流] 创建窗口并接收消息

  [复制链接]
发表于 2013-7-5 16:03:36 | 显示全部楼层
楼主加油,鱼C加油!我们都看好你哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-5 16:42:39 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-5 16:55:06 | 显示全部楼层
我喜欢强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-5 21:07:39 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-5 22:31:22 | 显示全部楼层
我只是路过打酱油的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-5 23:40:44 | 显示全部楼层
真是难得给力的帖子啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 00:19:38 | 显示全部楼层
真是难得给力的帖子啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 00:21:27 | 显示全部楼层
强烈支持!!!!!!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 00:44:37 | 显示全部楼层
楼主加油,鱼C加油!我们都看好你哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 01:32:03 | 显示全部楼层
激动人心,无法言表!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 10:40:13 | 显示全部楼层
真是难得给力的帖子啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 11:49:01 | 显示全部楼层
我是VIP,我骄傲!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 12:03:35 | 显示全部楼层
楼主加油,鱼C加油!我们都看好你哦!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 14:13:29 | 显示全部楼层
淡定,淡定,淡定……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-6 23:36:57 | 显示全部楼层
给力,期待下一个教程。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-7 09:23:05 | 显示全部楼层
真是难得给力的帖子啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-8 20:07:42 | 显示全部楼层
能看看代码吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-11 00:54:34 | 显示全部楼层
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; by 小甲鱼, http://www.fishc.com
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 功能:读取硬盘引导扇区并保存于boot.ini文件中
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
        .386
        .model flat,stdcall
        option casemap:none

include windows.inc
include comdlg32.inc
include user32.inc
include kernel32.inc
includelib comdlg32.lib
includelib user32.lib
includelib kernel32.lib

    .data
szFileName  db  '\\.\\physicaldrive0', 0            ; 硬盘设备名

    .data?
szBuffer        db  512 dup (?)
@hFile          dd  ?
@dwBytesRead    dd  ?
@szLogFile      db  MAX_PATH dup (?)

    .const
szNewFile       db  'boot.ini', 0
szErrOpenFile   db  '无法打开硬盘文件!', 0
szErrCreateFile db  '无法创建boot.ini文件!', 0
szSuccess       db  '成功读取硬盘引导区并写入boot.ini文件!', 0   
szCaption       db  '鱼C工作室', 0   
   
    .code
start:
    invoke CreateFile,              ; 打开或创建文件
        addr szFileName,            ; 文件的名字
        GENERIC_READ,               ; 允许读访问
        FILE_SHARE_READ,            ; 允许对文件进行共享访问
        0,                          ; 指向一个SECURITY_ATTRIBUTES结构的指针
        OPEN_EXISTING,              ; 文件必须存在
        FILE_ATTRIBUTE_NORMAL,      ; 默认属性
        0
   
    .if eax == INVALID_HANDLE_VALUE ; 打开文件错误
        invoke MessageBox,
            NULL,
            addr szErrOpenFile,
            addr szCaption,
            MB_OK
            
        jmp exit
    .endif
   
    mov @hFile, eax                 ; 返回文件句柄,这时候硬盘被看成是一个文件的哦~
   
    invoke ReadFile,                ; 从文件中读取数据
        @hFile,                     ; 文件句柄
        addr szBuffer,              ; 用于保存读入数据的缓冲区
        sizeof szBuffer,            ; 需要读入的字符数
        addr @dwBytesRead,          ; 实际读入的字节数
        0
   
    invoke CloseHandle, @hFile      ; 小甲鱼温馨提醒:记得文件打开后要擦屁股->关闭文件,否则造成内存泄漏
   
    invoke lstrcpy,                 ; 拷贝字符串
        addr @szLogFile,
        addr szNewFile
   
    invoke CreateFile,              ; 创建boot.ini文件
        addr @szLogFile,            
        GENERIC_WRITE,              
        FILE_SHARE_READ,            
        0,                          
        CREATE_ALWAYS,              
        FILE_ATTRIBUTE_NORMAL,      
        0
   
    .if eax != INVALID_HANDLE_VALUE
        mov @hFile, eax
        
        invoke WriteFile,           ; 将数据写入boot.ini文件
            @hFile,
            addr szBuffer,
            sizeof szBuffer,
            addr @dwBytesRead,
            0
   
        invoke CloseHandle, @hFile  ; 擦屁股
        
        invoke wsprintf,            ; 这个事实上常用的函数,如果有问题的鱼油可以在论坛搜索下,有篇文章中小甲鱼已经做好了详细的解释给大家。
            addr szBuffer,
            addr szSuccess
         
        invoke MessageBox,
            NULL,
            addr szBuffer,
            addr szCaption,
            MB_OK
            
    .else
        invoke MessageBox,
            NULL,
            addr szErrCreateFile,
            addr szCaption,
            MB_OK
    .endif   
        
exit:
    invoke ExitProcess, NULL
        
    end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-11 02:05:52 | 显示全部楼层
强烈支持楼主ing……好贵啊,就不买了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-22 21:23:22 | 显示全部楼层
这个很早就有了吧?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-23 03:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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