Tag: c ++

如何在javascript中加密url并在c#中解密

var url = “DocumentId=”+DocumentID+”&SectionType=1&RecID=”+RecipientID; window.open ( “../EBox/ShowLetter.aspx?Url=”+encodeURIComponent(url),’PrintMail’ , features ); 而不是编码我想要加密url。 这是什么解决方案?

我可以在NUnit运行测试之前和之后执行代码吗?

我在NUnit中有一堆测试,它们在文件系统上创建了垃圾数据(糟糕,我知道,但我对此无法控制)。 目前我们有一个清除工具,可以删除这些临时工具等,但我希望能够自动运行该清理工具。 所有测试运行完毕后,我必须能够运行它。 我有类似的检查,我想在开始时做,以确保以前的运行中没有任何这些临时工具可能会改变测试的结果。 这样的事情很简单,还是我要为这样的事情实现一个全新的测试运行器?

使用C ++将托管事件公开给COM

可以公开在C#中编写的托管事件,以便在使用c ++编写的COM对象中公开和使用。 不熟悉com和atl。 您能否展示一下MSDN文章中显示的C ++方面的内容 http://msdn.microsoft.com/en-us/library/dd8bf0x3.aspx 显示的VB6代码certificate它是可行的。

使用C#访问Windows 7启动配置数据

我需要能够使用c#从引导配置数据存储中访问当前运行的Windows安装程序的标识符GUID。 它可以从运行的命令行返回: bcdedit /enum {current} /v 我遇到的问题是在c#中,如果我尝试直接运行此命令(即使程序以管理员身份运行),我被告知bcdedit不存在。 我正在使用: ProcessStartInfo procStartInfo = new ProcessStartInfo(“bcdedit.exe”, “/enum {current} /v”); 我研究的另一件事是使用WMI,但我必须这样做的唯一参考是http://msdn.microsoft.com/en-us/library/windows/desktop/aa362673(v=vs.85).aspx这不是很有帮助。 最好的解决方案是,如果我不必使用bcdedit,而是可以使用本机WMI类。 如何使用C#找到当前的Windows Boot Loader标识符?

由于捕获的exception,显示WinRT MessageDialog的正确方法是什么?

由于捕获的exception,显示消息对话框的正确方法是什么? 我最初尝试过 try { await DoSomething(); } catch(InvalidOperation ex) { await MessageDialog(ex.Message).ShowAsync(); } catch(CommunicationException) { await MessageDialog(StringResourceLoader.LoginError).ShowAsync(); } 这不起作用,因为你无法await try块内部。 取出await命令会使编译器显示以下警告: 由于不等待此调用,因此在完成调用之前会继续执行当前方法。 考虑将’await’运算符应用于调用的结果 我不喜欢在我的代码中保留这些警告,因为在几个地方人们忘记使用await因此很难找到错误。 将消息对话框语句更改为var task = new MessageDialog(ex.Message).ShowAsync().AsTask(); 摆脱所有的警告和错误,但我不确定这是一个很好的方式(并在技术上是坏的,因为它希望我await电话) 最后,我尝试通过以下方式存储exception并在catch之外执行我向用户显示的内容的逻辑(包括确定抛出什么类型的exception的所有逻辑): Exception thrownException = null; try { await DoSomething(); } catch(Exception ex) { thrownException = ex; } if (thrownException is InvalidOperationException) await MessageDialog(ex.Message).ShowAsync(); else if […]

通过FindWindowEx获取所有控件

我正在构建一个应用程序,它将获得所有控件已进入应用程序winform正在运行。 首先,我可以将dll注入应用程序winform正在运行并获取应用程序winform的句柄正在运行。 在我将所有子窗口变为applcation之后。 接下来,我想通过FindWindowEx将所有控件放入子窗口。 但我不能 这是代码: static ArrayList GetAllChildrenWindowHandles(IntPtr hParent, int maxCount) { ArrayList result = new ArrayList(); int ct = 0; IntPtr prevChild = IntPtr.Zero; IntPtr currChild = IntPtr.Zero; while (true && ct < maxCount) { currChild = FindWindowEx(hParent, prevChild, null, null); if (currChild == IntPtr.Zero) { int errorCode = Marshal.GetLastWin32Error(); break; } result.Add(currChild); […]

从服务器端调用Javascript函数

在按钮上单击我调用服务器端function,我在其中调用Javascript函数 Page.ClientScript.RegisterStartupScript( this.GetType(), “scriptsKey”, “test();”); 但是Javascript函数没有调用。

C#Windows服务需要进行注册表更改

我有一项服务需要每5分钟更新一次注册表(抵消gpo)。 代码在常规应用程序中运行良好,但是当我将它放在Windows服务中时,它不会进行更改。 我使用本地系统帐户进行​​服务,并没有抛出任何exception 以下代码适用于常规控制台应用,但不适用于服务: RegistryKey key = Registry.CurrentUser.OpenSubKey(“Control Panel\\Desktop”, true); if (key != null) { key.SetValue(“ScreenSaverIsSecure”, “0”, RegistryValueKind.String); key.SetValue(“ScreenSaveActive”, “0”, RegistryValueKind.String); key.SetValue(“ScreenSaveTimeOut”, “0”, RegistryValueKind.String); key.SetValue(“SCRNSAVE.EXE”, “”, RegistryValueKind.String); } key = Registry.CurrentUser.OpenSubKey(@”Software\Policies\Microsoft\Windows\Control Panel\Desktop”, true); if (key != null) { key.SetValue(“ScreenSaverIsSecure”, “0”, RegistryValueKind.String); key.SetValue(“ScreenSaveActive”, “0”, RegistryValueKind.String); key.SetValue(“ScreenSaveTimeOut”, “0”, RegistryValueKind.String); key.SetValue(“SCRNSAVE.EXE”, “”, RegistryValueKind.String); } System.Diagnostics.Process.Start(@”c:\windows\System32\RUNDLL32.EXE”, “user32.dll, UpdatePerUserSystemParameters”); 有任何想法吗? […]

从App WinRT获取本地文件夹

我在尝试将文件保存到我正在使用的WinRT应用程序的文件夹中时遇到问题。 更具体:我无法设法检索该文件夹。 我需要保存一些文件,然后从同一个文件夹中检索它们,让我们说MyFolder实际上与应用程序中的Assets文件夹在同一级别。 我怎么能实现这样的呢? 到目前为止我试过了 await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync(“MyFolder”) 和 await ApplicationData.Current.LocalFolder.GetFolderAsync(“MyFolder”); 并且似乎都告诉我这样的文件夹不存在。 现在,我似乎无法弄明白,如果我走在正确的轨道上,或者这是我做过的愚蠢行为并导致exception。 我不能真正发布整个代码,因为它实际上是对其他调用的更大方法的调用,依此类推。 此外,我想知道(如果这些方法中的任何一个是正确的),如果应用程序获得更新,内容会受到任何影响(更好地说,丢失)。 谢谢。

报告Async Task的进度

你好开发者, 我面临着一个轻微的困境。 我有一个WPF应用程序,它读取一个相当大的Excel文件,然后将其作为XML文件输出。 我面临的问题是我想将操作的进度报告给处理程序。 我无法让它“顺利”工作,字面意思是GUI线程中的进度条立即被填充,然后立即填充保存从Excel文件读取的内容的DataGrid。 我是Async / Await / Task的新手,我一直在使用BackgroundWorker,但我希望能够获得更多关于此的知识,所以如果这是一个愚蠢的问题,我很抱歉。 我从这里读过Stephen Cleary的教程。 老实说,我不知道为什么进度条不能“顺利”填充,因为它应该…… 在GUI中调用的代码: var progress = new Progress(progressPercent => pBar.Value = progressPercent); Task.Run(() => _sourceService.ReadFileContent(filePath, progress)).ContinueWith(task => { dataGrid.ItemsSource = task.Result.DefaultView; DataTable = task.Result; if (DataTable.Rows.Count > 0) BtnCreateXmlFile.IsEnabled = true; }, CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.FromCurrentSynchronizationContext()); ReadFileContent(filePath, progress)的方法体ReadFileContent(filePath, progress) : public DataTable ReadFileContent(string filePath, IProgress […]