Tag: windows xp

如何以编程方式更改主卷?

在Windows XP上的C / C ++中如何获取主卷或如何更改主卷…? 提前致谢…

如何在Windows中向CD-ROM驱动器发出READ CD命令?

我正在开发一个需要向CD-ROM驱动器发出原始SCSI命令的应用程序。 目前,我正在努力向驱动器发送READ CD( 0xBE )命令并从CD的给定扇区获取数据。 请考虑以下代码: #include #include #include #include #include int main(void) { HANDLE fh; DWORD ioctl_bytes; BOOL ioctl_rv; const UCHAR cdb[] = { 0xBE, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0 }; UCHAR buf[2352]; struct sptd_with_sense { SCSI_PASS_THROUGH_DIRECT s; UCHAR sense[128]; } sptd; fh = CreateFile(“\\\\.\\E:”, GENERIC_READ | GENERIC_WRITE, […]

什么是Windows XP等效的inet_pton或InetPton?

我需要确定特定字符串是否是有效的IPv4或IPv6地址文字。 如果我理解正确,在POSIX系统上执行此操作的正确方法是使用inet_pton将其转换为网络地址结构并查看是否成功。 Windows Vista和更高版本的InetPton基本上都是一样的。 但据我所知,Windows XP并未声明其中任何一种,我需要能够在XP上正确执行此操作。 那么,问题是使用什么系统function来做到这一点? 最糟糕的情况是,我可以编写一个函数来自己解析它,但我更喜欢一个标准的系统函数,因此经过全面测试并正确处理所有角落情况等等。 已经糟糕的是,微软不能像其他人一样宣布inet_pton , InetPton来推出更新的操作系统。

二进制文件和跨平台兼容性

我编写了一个C ++库,将我的数据(自定义结构的集合等)保存到二进制文件中。 我目前在Windows(XP)机器上本地使用(即创建和使用 )文件。 为简单起见,让我们将库分为两部分:一个编写器 (创建文件)和一个读者或消费者 (只是从文件中读取数据)。 最近,我想在我的Linux机器上使用 (即读取)我在XP机器上创建的数据文件。 我必须在这个阶段指出两台机器都是PC(因此具有相同的endianess等)。 我可以构建一个阅读器(并为Linux编译[确切地说是Ubuntu 9.10]),因为我是图书馆的创建者。 我的问题,在我踏上这条道路(建立读者等)之前是: 假设我已经成功构建了Linux的阅读器, 我可以简单地将在Windows(XP)机器上创建的文件复制到Linux(Ubuntu 9.10)机器并使用Linux阅读器成功读取复制的文件吗?

C:使用MinGW的Regex库

如何在MinGW中安装C正则表达式? 我正在使用它的GCC ……我正在运行Windows XP。 我更喜欢更新的。

如何在Windows XP下监控Windows服务的状态变化?

我正在尝试用C编写一个程序,它可以检测何时启动或停止某些Windows服务(即NT服务)。 似乎有一个函数NotifyServiceStatusChange ,但这只适用于Vista和Windows 7.我试图在Win XP上执行此操作,那么最好的方法是什么? 除连续投票外还有其他吗? 编辑: 有人能用C答案吗? 我也熟悉C ++,但我想远离脚本。

为什么我需要多个EOF(CTRL + Z)字符?

作为一个小背景,我对C编程语言很陌生,因此一直试图通过第二版Kernighan&Ritchie手册中的一些练习。 我确实意识到我可以通过更多地使用标准库来更简洁地处理某些问题,但是我试图尽可能地保持我的有用命令库与书本同步。 如果它有所不同,我正在使用Tiny C编译器(TCC)在Windows XP环境中编译我的源代码并在XP控制台(cmd.exe)中执行二进制文件。 问题 :处理End-of-File (EOF) characters 。 我已经整理了一个小测试案例来说明问题。 该程序似乎处理EOF字符(部分)。 我将尝试用样本输入/输出来演示问题。 #include int main() { int character, count; character = 0; character = getchar(); for (count = 0; character != EOF; ++count) { character = getchar(); } printf(“Count: %d”, count); return 0; } 示例输入1: abcd^Z[enter] (其中^ Z / CTRL + Z表示EOF字符,[enter]表示Enter键。) 样本输出1: Count: […]

如何使用Visual Studio 2012编译Win XP?

好的,所以我在Windows 7 x64中使用Visual Studio 2012进行编程和编译。 我的应用程序在那里工作正常,但是当我尝试从Windows XP SP3虚拟机执行它时,我立刻得到“xxxx.exe不是一个有效的win32应用程序”。 正在使用静态链接编译应用程序,即使用/ MT。 我在targetver.exe中将_WIN32_WINNT设置为0x0501; 配置管理器设置为Win32,链接器高级选项中的目标计算机设置为MACHINEX86。 我的targetver.h看起来像这样: #include #define _WIN32_WINNT 0x0501 #define WINVER 0x0501 #define NTDDI_VERSION 0x0501 #include 我也尝试使用/ MD进行编译并安装.NET Framework,但这也没有用。 我很无能,我真的可以使用一些帮助,因为我需要让它适用于Windows XP。 提前致谢。