草庐IT

其他控件

全部标签

windows - 安装和更新 ActiveX 控件需要什么权限?

我们正在开发基于网络的销售点应用程序,虽然它主要在浏览器中运行,但也需要与信用卡读卡器等硬件设备集成。为了提供硬件集成,我们使用ATL在C++中实现了几个简单的ActiveX控件。我们不是经验丰富的Windows开发人员,很难理解ActiveX控件的安装过程和安全模型。显然,这是我们的用户实际能够运行我们的应用程序的先决条件。:)我们正在尝试确定典型的非特权用户(非管理员、非高级用户)所需的最精细和最严格权限集从作为Web应用程序的一部分通过HTTP提供的签名.cab文件安装和更新特定ActiveX控件(与任何ActiveX控件相对)。对于XP(SP2+)和IE6,以及更新的操作系统/

c# - Datagridview控件单元中的数据验证

我正在使用DATAGIDVIEW控件,在此网格用户可以编辑固定列的值。我希望用户只能写数字值(例如1,2,443等)。我不确定在哪个datagridview事件中必须编写此代码,以及捕获值的代码是什么 最佳答案 检查这些物品:Walkthrough:ValidatingDataintheWindowsFormsDataGridViewControlHowto:ValidateDataintheWindowsFormsDataGridViewControlWalkthrough:HandlingErrorsthatOccurDurin

windows - 使用内存映射文件同时允许其他进程完全访问

我正在尝试在Windows下使用内存映射文件(使用CreateFile/CreateFileMapping/MapViewOfFile函数),并且我当前在调用CREATE_FILE时指定FILE_SHARE_READ和FILE_SHARE_WRITE。但是,这会锁定文件以防止其他进程使用。我想要的是在调用CreateFileMapping或MapViewOfFile时内存映射文件的快照,这样我就看不到对文件所做的任何更改(写入或删除)通过其他过程。有点像写时复制,但其他进程正在执行写入。我可以在Windows上使用内存映射文件来执行此操作吗? 最佳答案

.net - 向其动态添加控件时如何使面板滚动保持在顶部?

我正在将用户控件添加到一个空的面板,但是当我这样做时,面板的滚动条向下滚动。我试图将panel.verticalscrol.value设置为0,但这并不能解决问题。谢谢 最佳答案 使用panel.ScrollControlIntoView(). 关于.net-向其动态添加控件时如何使面板滚动保持在顶部?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7668119/

windows - 使用 IE9 嵌入 WebBrowser 控件时覆盖 IE 设置

我有一个应用程序(用C++和MFC编写,但我认为这不是特别相关)嵌入了InternetExplorerActiveXWebBrowser控件以显示一些HTML页面。一项要求始终是使用应用程序的字体名称和大小设置作为HTML的默认设置,而不是InternetExporer的默认设置。为此,应用程序实现了IDocHostUIHandler2COM接口(interface),并将其传递给WebBrowser控件。这会导致控件调用应用程序的GetOptionKeyPath实现。,它允许应用程序设置WebBrowser控件从中获取其设置的注册表位置。借助Sysinternals的工具来查看IE使

c++ - 从另一个应用程序窗口获取焦点控件的句柄

我有一个应用程序有一些控件(按钮、编辑等)的窗口。我需要模拟用户事件(如Tab单击和输入文本)。我正在使用keybd_event在制表符排序控件(编辑框)之间移动焦点并向它们输入文本。但我需要知道当前焦点控件的句柄(例如从中获取文本或更改其样式)。我该如何解决?附言我现在正在编写Delphi,但这并不重要(Win-API无处不在)。 最佳答案 请参阅GetFocus中的备注部分'用于解释以下示例的文档。functionGetFocus:HWND;varWnd:HWND;TId,PId:DWORD;beginResult:=windo

windows - 如何使其他应用程序隐藏窗口从我的应用程序可见?

我的应用程序隐藏了它的窗口(因此隐藏了任务栏按钮)并且只停留在通知区域,代码如下:Form1.Hide;当我点击通知图标时,窗口会显示以下代码:Form1.Show;Application.Restore;但是我想在执行第二个实例时显示窗口。我可以使用“文件映射”将任何数据从第一个实例传递到第二个实例。到目前为止,我只设法在窗口最小化时如何显示它(存在任务栏按钮),代码如下:ifIsIconic(FirstInstanceApplicationHandle)thenShowWindow(FirstInstanceApplicationHandle,SW_RESTORE);SetFore

windows - 如何从不同目录的其他批处理文件中的批处理文件启动 exe 文件?

我将尝试解释我的问题:我有一个主批处理文件,名为master.bat我有几个批处理文件,名为slave_0x.bat,使用CALL命令从master.bat调用。每个slave_0x.bat文件从相关目录启动一个setup_0x.exe文件。这两个文件位于master.bat目录的子目录中。例如:master.bat文件位于D:\Master\slave_01.bat位于D:\Master\Slave_01\setup_01.exe也位于D:\Master\Slave_01\问题是:当我启动master.bat时,当前路径是“D:\Master\”然后,当执行slave_01.bat时

windows - 发送到 HWND_BROADCAST 的消息会转到其他桌面吗?

我正在尝试确定HWND_BROADCAST工作原理的一些细节。不幸的是,MSDN没有这个值的特定页面;仅在传递其他几篇文章时提到它,例如SendMessage的文章和PostMessage.我特别想知道发送到HWND_BROADCAST的消息是否被与同一窗口站中的其他桌面关联的窗口接收。文档说该消息将发送到“系统中的所有顶级窗口”,但显然这不能完全正确。例如,我确定他们不会在其他登录session(例如在终端服务器上)中转到窗口。我的猜测是,它们至少被限制在调用进程的窗口站,但我不知道它们是否也被限制在调用线程的桌面(每个线程与一个桌面相关联)。最坏的情况我可以编写一些代码来根据经验对

c++ - 是否有用于 Visual C++ 或其他 IDE 的工具,允许超过 1 个程序员(在线)同时处理同一个项目?

那么有没有一种方法可以让我在一个相互窗口中与距离我200英里的friend程序员共享整个环境、编辑、编译和执行我的代码?例如,我开始了一个在线session,我的friend加入了它,他的IDE将这个session的所有设置和项目/源文件与我的同步,这样我们就可以通过网络实时处理同一个项目强>.有可能吗? 最佳答案 协作开发通常是通过软件配置管理或版本控制系统完成的,例如Subversion、PVCS、StarTeam、MKS、SourceSafe、CVS或任何其他成本和复杂程度各不相同的选项。这通常的工作方式是,每个开发人员从存储