Tag: 窗口

编程瘦Windows C ++程序(如uTorrent)

我一直很欣赏原来的uTorrent程序。 它看起来不错,小于64kb,速度非常快,并具有我需要的所有function。 不幸的是,这个程序是封闭的源代码(并且变得更加臃肿),所以我来到Stackoverflow寻求灵感。 你推荐什么方法在Windows上编写快速,高效,高效的程序? 虽然C#(和整个.NET概念)是很酷的想法,但我更喜欢“纯粹”的答案,以及为Windows平台编写高效,快速的软件的挑战,就像原来的uTorrent客户端一样。 我不介意分配我自己的内存,做我自己的垃圾收集和创build我自己的数据结构。 书籍,文章,图书馆,IDEs(甚至有效的方式,让更多的咖啡因进入我的系统)的build议值得欢迎。

如何在C#中避免while循环

我试图逃避一段时间循环。 基本上,如果“如果”条件满足,我想能够退出这个循环: private void CheckLog() { while (true) { Thread.Sleep(5000); if (!System.IO.File.Exists("Command.bat")) continue; using (System.IO.StreamReader sr = System.IO.File.OpenText("Command.bat")) { string s = ""; while ((s = sr.ReadLine()) != null) { if (s.Contains("mp4:production/CATCHUP/")) { RemoveEXELog(); Process p = new Process(); p.StartInfo.WorkingDirectory = "dump"; p.StartInfo.FileName = "test.exe"; p.StartInfo.Arguments = s; p.Start(); << Escape here – if the […]

如何处理名称超过259个字符的文件?

我正在研究一个应用程序,它遍历某些目录中的每个文件,并对这些文件执行一些操作。 其中,我必须检索文件的大小和文件修改的date。 某些文件全名(目录+文件名)太长,我无法使用.NET Framework FileInfo ,它仅限于MAX_PATH (260个字符)。 许多Web源build议通过P / Invoke使用本机Win32函数来访问名称太长的文件。 目前,Win32函数似乎也出现了完全相同的问题。 例如, GetFileAttributesEx (kernel32.dll)失败,Win32错误3 ERROR_PATH_NOT_FOUND为270个字节的path。 同样的文件可以成功地从记事本2打开,并成功地显示在Windows资源pipe理器(但Visual Studio 2010例如由于259个字符的限制¹没有打开它)。 如果文件path长度为270个字符,我能做些什么来访问文件? 笔记: 删除或忽略文件path长度超过259个字符的文件不是解决scheme。 我只在寻找兼容Unicode的解决scheme。 该应用程序将在安装了.NET Framework 4的Windows 2008 / Vista或更高版本下运行。 ¹令人惊讶的是,Microsoft Word 2007失败了,抱怨说没有任何软盘的计算机上的“软盘太小”,或者剩下4GB的RAM时,“RAM内存不足” “杀毒软件需要更新”。 他们是否会停留一天,至less在诸如Microsoft Office这样的关键产品中显示这样愚蠢的毫无意义的错误?

C#检查是否以pipe理员身份运行

可能重复: 检查当前用户是否是pipe理员 我需要testing应用程序(使用C#编写,运行Windows XP / Vista / 7)是否以pipe理员身份运行(如右键单击.exe – >以pipe理员身份运行,或以属性下的兼容性选项卡以pipe理员身份运行) 。 我已经Google和searchStackOverflow,但我找不到一个工作的解决scheme。 我最后一次尝试是这样的: if ((new WindowsPrincipal(WindowsIdentity.GetCurrent())) .IsInRole(WindowsBuiltInRole.Administrator)) { … }

WPF:closures后不能重新使用窗口

我试图保持一个Window周围的实例,并在需要时调用ShowDialog 。 这工作发现在winforms中,但在WPF我收到这种怀疑: System.InvalidOperationException:无法设置可视性,或在窗口closures后调用Show,ShowDialog或WindowInteropHelper.EnsureHandle。 有没有办法在WPF中做这样的事情? MyWindow.Instance.ShowDialog(); public class MyWindow : Window { private static MyWindow _instance; public static MyWindow Instance { if( _instance == null ) { _instance = new Window(); } return _instance(); } }

Javascript window.open使用POST传递值

我有一个JavaScript函数,使用window.open调用另一个页面,并返回结果。 这是我的代码部分: var windowFeatures = "status=0, toolbar=0, location=0, menubar=0, directories=0, resizable=1, scrollbars=1"; window.open ('http://www.domain.com/index.php?p=view.map&coords=' + encodeURIComponent(coords), 'JobWindow', windowFeatures); 我现在的问题是,我传递给GET来处理很多数据,我需要使用POST方法传递它。 我怎样才能转换上面的代码打开页面使用POST方法没有实现forms遍及整个页面(页面上列出了与供应商名单的100个订单 – 我试图映射供应商)

什么是WPF,它与WinForms相比如何?

我一直在看WPF,但我从来没有真正的工作(除了15分钟,这引发了这个问题)。 我看了这篇文章,但它真的是关于WPF的“Flash”。 那么Windows窗体应用程序和WPF应用程序有什么区别?

未知的types名称“uint8_t”,MinGW

我得到“未知的types名称”uint8_t“”和其他人喜欢它在MinGW中使用C. 任何想法如何解决这个问题?

AngularJS $ watch窗口调整内部指令

我有揭示模块模式,看起来像这样: 'use strict'; angular.module('app', []) .directive('myDirective', ['SomeDep', function (SomeDep) { var linker = function (scope, element, attr) { // some work }; return { link: linker, restrict: 'E' }; }]) ; 我遇到麻烦的是将$ watch整合到此。 特别注意窗口大小,用“$ window”服务。 [编辑]: 我意识到我的问题是这一整个时间…我限制元素,当我忘了我正在实现它作为属性… @ _ @;

枚举计算机上的监视器

我find了7种不同的方法来枚举连接到电脑的显示器。 但是所有的解决scheme都会给出不同的结果(监视器数量和每个监视器上的信息)。 这些解决scheme是: 使用着名的EnumDisplayDevices 使用EnumDisplayMonitors 使用Windows Management Instrumentation(WMI) : 使用以下查询:在root\\WMI名称空间中SELECT * FROM WmiMonitorID 。 再次使用WMI : 使用新的查询: SELECT * FROM Win32_DesktopMonitor位于root\\CIMV2命名空间中。 使用安装程序API : 通过首先调用SetupDiGetClassDevs来检索设备信息集,然后使用SetupDiEnumDeviceInfo 使用DirectXgraphics基础结构(DXGI) 首先使用IDXGIFactory::EnumAdapters ,然后使用IDXGIAdapter::EnumOutput 使用连接和configuration显示(CCD)API : QueryDisplayConfig (QDC_ALL_PATHS, &numPathArrayElements, pathInfoArray, &numModeInfoArrayElements, modeInfoArray, nullptr); 我试图正确地理解所有这些方法与MSDN参考之间的区别。 意见 从我观察到的情况来看: WmiMonitorID和Setup API查询返回已连接(不一定是活动)显示的列表。 Win32_DesktopMonitor WMI查询返回错误 (至less意外)结果(即使在非活动状态下,也只能枚举1个监视器,而在另一个监视器上的桌面上)。 EnumDisplayDevices返回活动设备列表(当连接其他监视器时只有1个监视器处于活动状态时除外) EnumDisplayMonitors和DXGI查询返回活动监视器的列表。 CCD似乎是最可靠的方法(提供目标和来源之间的所有可能path)。 问题 当使用这些方法时(连接显示列表,已安装显示列表,活动显示列表),我应该得到什么结果? 如果我使用镜像显示器或扩展显示器怎么办? 如果电脑有多个显卡没有多个输出? 奖金:一些方法( DXGI , EnumDisplayDevices […]