如何在MS WORD中向表格中插入文本?
大家好! 首先,我要感谢所有花时间查看此主题并尝试提供帮助的人. 我制作了一个带有表格的 MS Word 文档.表格有 4 列. 我想使用 C++ 和纯 Win32 API 将随机文本插入列中. 我相信这可以通过 OLE 和自动化来完成,但我是新手,所以如果这是唯一的方法,请通过发布一些示例代码示例来帮助我,如果这不是什么大问题,那么我可以看到使用 OLE 和自动化背后的逻辑,我将非常感激,因为我无法处理 MSDN 上的在线文档. 这就是全部,我只需要帮助,在我看来,简单的任务->用一些随机文本填充用 MS Word 制作的文档中的表格. 编辑: ---------------------------------------------------------- 我决定使用 OLE 和 C++ 来完成这项任务,遵循本文中的示例: http://support.microsoft.com/kb/216686/en-us[^] 我已设法打开
206 2022-07-19
编程技术问答社区
c++应用程序在系统启动时不工作。
你好.. 这是我的简单c++代码. #include #include 使用 命名空间 std;int main(int argc, char *参数 []){cout"编写 Hello World.\n";文件*文件;file=fopen("myfile.txt","a+");if(file!=NULL){fputs("Hello World!\n",file);fclose(文件);cout
154 2022-07-19
编程技术问答社区
[win32 dll]运行时错误:0xC0000005:访问冲突
所有编译正常,但运行后,错误发生100% 在 Visual Studio 2008 中,但在 vc6 中. 如何修改它以通过运行时? 我想要的是只有 *.exe 和 *.dll 才能正常运行 谢谢 //test_dll.cpp #include #include typedef int (*PFUN)(int); void main() { HMODULE hModule = ::LoadLibrary(L"DllTest.dll"); PFUN newfun = (PFUN)::GetProcAddress(hModule,"fun"); int i = newfun(2); printf("The result is %d",i); ::FreeLibrary(hModule); } /***************************************/ //win32_dll1.h extern "C" __decl
176 2022-07-19
编程技术问答社区
获取程序的exe位置
是否有一种标准方法可以获取 Windows 上已安装程序及其 EXE 文件位置的列表? 我更喜欢 C#. 我可以从注册表的“卸载"键中获取程序列表. (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall) 但它也包含所有驱动程序组件、一些服务等,它提供了卸载程序的位置(或指向 MsiExec 的链接),而不是主 exe 位置. WMI ? 解决方案 你可以看到这个链接 点击 点击 要获取已安装软件的完整安装路径列表,您可以导航给定的链接以获得完整的解决方案 获取已安装软件的列表以及软件的安装路径(如果已知)[^] 那里提到了所有步骤以使用带有宝贵意见的代码. 希望它对你有用. :) 我认为这在 Windows 中是不可能的,因为很多已安装的应用程序包含多个应用程序可执行文件.
108 2022-07-19
编程技术问答社区
编辑控件中的铁路超高类型
我在 VS2005 中的对话框上创建了一个编辑控件,但是当我运行我的应用程序时,当我输入它时它不显示. 解决方案 你可以尝试SetDlgItemText为编辑控件,看看是不是show ,,,,如果没有,可以尝试一步步调试,在调试模式下查看编辑控件的值~ 可能是编辑控件的Disabled属性设置为真. 检查此链接并尝试可能会对您有所帮助. http://functionx.com/visualc/controls/edit.htm
112 2022-07-19
编程技术问答社区
Win32挂钩:项目理念
你好, 您能否分享您对一些可以通过学习 Win32 Hooks 来实现的有用的项目想法的想法. 请帮忙 解决方案 你好, 看这里: http://duke2.sunjapan.com.cn/~hz/win32/hooks32.htm[^]
148 2022-07-19
编程技术问答社区
将一个字符串插入另一个字符串所需的建议
简介及相关信息: 我有一个 edit control 只需要接受带符号的十进制数(类似于 -12.35 ). 我决定通过 subclassing 来实现它. WM_CHAR 处理程序似乎运行良好,我需要处理其他几条消息以完全保护用户不输入无效文本.一个这样的消息是 WM_PASTE. 到目前为止,我能够正确地从 clipboard 获取文本并丢弃或传递消息,具体取决于复制的字符串是否确实是十进制数. 编辑控件将输入限制为 12 个字符.这是通过 EM_SETLIMITTEXT 消息完成的. 我使用 pure Winapi 和 C++.不允许使用 boost 等库. 问题: 到目前为止,我测试了编辑控件为空的情况,如果内容无效则放弃粘贴.但是,用户可以在编辑控件中选择部分文本,然后执行粘贴.像这样(红色字符代表选择): 编辑控件中的文本:12345678.9 剪贴板文本:-1A 如果我允许粘贴,结果字符串将为 123-1A7
134 2022-07-19
编程技术问答社区
子类化编辑控件时正确处理VK_DELETE
我将编辑控件子类化为只接受十进制数字. 一切正常,剩下的唯一事情就是处理用户选择部分文本并按下 Delete 键( VK_DELETE )的情况. 我的问题如下: 按下 Delete 键 ( VK_DELETE ) 是否会发送一些类似 WM_CLEAR 的消息,我可以将其用于我的处理,还是我必须在我的子类化过程中处理 WM_KEYDOWN 并在那里进行处理? 谢谢. 最好的问候. 解决方案 你评论中解释的细节比问题本身更重要,你没有告诉我们最重要的事情.这个问题纯粹是人为的,这就是它的根源:“这将被存储为 0.123456789,它比允许的最大值更长".也就是说,您是表示数据库中数字的字符串.这是完全错误的、浪费的、不可靠的.您需要存储数字类型的数据.一般来说,这是一个奇怪的趋势,这些天困扰着许多初学者:使用表示数据的字符串而不是数据本身.这很糟糕. 当然,在 UI 中,您应该更好地过滤掉不需要的字符.例如,如果您输入小数数据,您可能只需要允许数字
94 2022-07-19
编程技术问答社区
Win32函数以获取窗口的最大行数和列数
你好, 是否有任何函数可以获取输出窗口的最大行数和列数. 问候, Kiran 解决方案 Windows GUI 不提供这样的信息,因为它支持比例字体.只有当您有等宽字体时,您才可以使用 GetWindowRect[^],例如 GetTextExtentPoint32[^].
196 2022-07-19
编程技术问答社区
使用win32 api从VSFlexGrid检索数据
你好, 如何使用 win32api 从 VSFlexGrid 获取数据? 我有窗口句柄,但我无法获取数据?或向其写入数据. 我能够手动编写数据,我想用 C++ 或 C# 代码来做. 谢谢, Gabi 解决方案 在VC++中从VS Flexi Grid获取数据 为其创建一个成员变量,然后使用它 //用于从网格中获取数据 m_Grid 是成员变量 then if(int i=0;i { if(int i=0;i { m_Grid.GetTextMatrix(row,col,stringtoget); } } //用于设置数据到网格 if(int i=0;i{ if(int i=0;i{ m_Grid.SetTextMatrix(row,col,stringtoset); } } 请参阅任一列是行将一个参数作为 0 OK 如果您无法使用向导创建,那么您可以使用它的类创建该网格的对象,然后访问它的方法
254 2022-07-19
编程技术问答社区
与记事本连接的虚拟键盘
如何将虚拟键盘应用程序与记事本连接? 解决方案 为什么只使用记事本?你可以做一个像样的虚拟键盘. 请看我过去的解决方案: 应用程序焦点的获取和丢失[^], 在 BACKSPACE 按钮上编程[^], 创建虚拟键盘[^]. 解决方案针对不同的平台和语言给出,但基础是原始的 Win32 API,所以你可以使用我的指导.欢迎您进一步提问. —SA
110 2022-07-19
编程技术问答社区
是否可以从使用dbghelp库获得的地址中读取值并将其写入地址
我有一个场景,我使用 dbghelp 库获取变量的地址. 我正在加载符号,然后使用 SymFromName 来获取变量的地址. 现在我有一个独立运行的 exe,我必须在其中设置变量的值. 我可以从 dbghelp 库获得的地址设置和获取变量的值吗? 解决方案 恐怕你不能.独立exe使用独立的地址空间,不能互相访问变量. 除非您求助于共享内存映射.http://msdn.microsoft.com/en-us/library/aa366878(v=VS.85).aspx[^] 或者使用另一种方式在两个应用程序之间进行通信.http://msdn.microsoft.com/en-us/library/aa365574%28v=VS.85%29.aspx[^]
210 2022-07-19
编程技术问答社区
几秒钟后自动关闭Messagebox或如何向Messagebox添加计时器
大家好.. 在 WIN32 中,我创建了这样的消息框: MessageBox(NULL,"初始化软件","初始化",MB_OK); 我的问题是:如何在几秒钟后自动关闭此消息框,而不按确定按钮.. 请给我建议.. 在此先感谢.. 解决方案 您可以按预期工作.但这将是一种非常奇怪的显示进度的方法.您必须创建一个单独的线程来处理消息框关闭的东西.因为消息框是模态对话框.一旦被调用,不关闭就不能执行下一行代码.所以首先你必须编写一个线程函数.在那编写代码以获取消息框窗口句柄,如下所示,然后将其关闭 UINT ThreadFun(LPVOID lpvParam){Sleep( 4000 );// 等到消息框被调用(你也可以使用有效的同步方法)HWND hWnd = FindWindow( 0, "初始化"/*窗口标题*/ );Sleep( 4000 );// 稍等片刻CloseWidnow(hWnd);}void ShowMsg(){:AfxBeginThrea
150 2022-07-19
编程技术问答社区
唐#39;不理解Win32 API中的RGB宏声明。
RGB宏在WinGDI.h 头文件中定义如下: #define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g)) 请需要帮助.我知道如何使用这个宏,但我不明白它的声明.学习它可能会有所帮助.请需要一步一步的回答! 谢谢. 解决方案 这只是一个将 3 个颜色值打包到 32 位内存中的宏. 只需查找按位运算符 >(右移) 它接受字节/字符大小的输入并返回一个 32 位 var,格式如下: 00000000BBBBBBBBGGGGGGGGRRRRRRRR 它的 R 值,与 G 值左移 8 位 ORed,与 B 值左移 16 位 ORed 000000000000000000000000RRRRRRRR 0000000000000000GGGGGGGG00000000 00000000BBBBBBBB0000000000000000 00000000BBBBBBBBGGGGGGG
174 2022-07-19
编程技术问答社区
Win32 API中常见对话框库的内存(RAM)问题
我知道一些编程(C/C++、JAVA、Win32..),但我不知道计算机科学的高级概念.我只知道基本情况.这个问题是关于 Windows 操作系统中的内存管理的.你可以通过观察来发现问题. 1. 使用记事本双击文件打开文件. 2.打开任务管理器,在进程选项卡下你会发现Notepad.exe占用的内存(大约1400K) 3.然后使用记事本中使用的通用对话框库打开一个文件(转到文件->打开). 4.现在你会在任务管理器中看到Notepad.exe占用的内存大约是8000K. 这是为什么 ?并且即使在关闭打开文件对话框后,内存也不会改变.为什么 Windows(或库或其他任何东西)在关闭打开文件对话框后不释放内存. 需要一个好的答案! [我正在使用 Win7 64bit) 解决方案 正如 Wes 所说,任务管理器告诉你进程分配了多少 RAM 以供使用,而不是如何它正在使用很多.这对于一个模糊的想法或显示一个失控的过程很有用,但它在你想要的粒度上并不准确.
180 2022-07-19
编程技术问答社区
如何在C中使用7z或其他库提取档案++
嗨如何在 C++ 原生 Win32 源代码中提取不同的存档文件,例如 zip、rar、cab、iso 和 7z 库支持的所有类型? 谁能帮我解决我的问题? 也许我可以用另一个想法来做?例如,我可以使用其他库或源代码吗? 谢谢... 解决方案 你可以开始看看 LZMA SDK[^].
106 2022-07-19
编程技术问答社区
使用套接字编程将文件从一台计算机下载到另一台计算机
我正在从事一个关于将文件从一个客户端下载到另一个客户端的项目.我用 1000 字节或更小的 char* 数组读取源客户端中的文件,然后使用套接字编程将这些接收到的数组写入文件.一切正常,但结果文件与源文件不同,并且某些字符正在更改. 这是源客户端中的代码: ifstream infile(file,ios::binary);unsigned int filesize = Getfilesize(file.c_str());// GetfileSize 返回文件大小while(!infile.eof()){char 块[1000];int sizeofbuf = 0;if(文件大小0;}其他{sizeofbuf = 1000;文件大小 = 文件大小 - 1000;}if(sizeofbuf==0)break;infile.read(chunk,sizeofbuf);send(ParentSocket,chunk,sizeofbuf,0);ZeroMemory(chunk,1000)
148 2022-07-19
编程技术问答社区
如何钩住并重新映射键
您好,我正在处理我的大学毕业项目,我需要制作一个 DLL 来挂钩和重新映射一些键盘键,然后再将它们发送到重点程序.示例:我的程序在后面运行,当我在记事本中按 A 写 B. 我希望有人可以帮助我:D 非常感谢,Daniel! 解决方案 尝试查看此页面和相关资源,来自 MSDN 库: http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx[^] 我认为您首先需要的是一个低级键盘挂钩(请参阅WH_KEYBOARD_LL),以便在将键分派到活动应用程序之前对其进行处理. 请注意,从已安装的钩子程序中,您只有两个选择: 避免对发送的密钥进行进一步处理 调用下一个安装的钩子(这意味着您的应用程序对发送的密钥不做任何事情,如果没有安装更多钩子,发送的密钥将被分派给活动的应用程序) 然后要重新映射一些键盘键,您应该执行以下操作: 安装你的钩子程序 从您的钩子程序中识别不应重新映射
136 2022-07-19
编程技术问答社区
GradientFill API不';t按其应有的表现
简介及相关信息: 我想创建一个带有渐变背景的静态控件. 我想通过以下方式做到这一点: 在主窗口的背景上创建渐变,然后在该背景上放置透明的静态控件. 为此,我在 WM_PAINT 处理程序中创建了 RECT 变量,该变量将渐变定位在静态控制应位于的位置. 另外,我尝试使用双缓冲来避免闪烁(我还处理了 WM_ERASEBKGND,从窗口类中删除了标志 CS_VREDRAW 和 CS_HREDRAW). 我还处理了 WM_SIZE 消息以使窗口无效,并正确重新定位静态控件. 在我的 WM_CTLCOLORSTATIC 处理程序中,我返回了 NULL_BRUSH. 我通过 Visual Studio 中的应用程序向导制作了一个演示应用程序来说明这一点. 我在 Windows XP 上工作,使用 pure Win32 API 和 C++. 下面我将提交演示项目的链接: http://www.filedropper.com/gradi
132 2022-07-19
编程技术问答社区
在VS2010中调试C#COM程序集
我正在开发一个 C# 程序集,它将通过 COM 从旧的 vb6(即“本机"win32,而不是 .net)应用程序中调用. 我已经在 W7 x64 中安装了 VS2010 Premium,我的目标只是使用 Visual Studio 调试 C# 代码...其他提示:C# 程序集以“x86 模式"(.NET4)编译,然后注册 dll在 COM+ 下;...一段时间后,我尝试在“任何 CPU"模式下编译,但没有任何结果... 总之,之后: 1)运行win32应用 2)在“Foo"方法上设置断点, 3)在win32进程上附加调试器...... *** 什么都没有....*** 一切正常,但无法在 VS 中激活调试器 有什么建议吗? 提前致谢. Flavio 解决方案 你可以做你想做的,它有效.可能你没有详细说明你在哪里搞砸了这种调试方法. 但它可以简单得多.1) 使用 Visual Studio 将解决方案与您的程序集一起加载.2) Make
130 2022-07-19
编程技术问答社区