Articles of .net

如何在Windows 10邮件应用程序中使用附件打开新邮件

我正在尝试向我的C#/ .Net应用程序添加一个function,以便用户通过电子邮件发送文件。 当用户安装Outlook时,我可以成功地使用Outlook互操作API来完成我想要的function。 但是,在新的Windows 10安装,我不能解决如何打开一个电子邮件与默认的邮件应用程序,这是从Windows应用程序的附件。 我努力了: 使用EML文件,按照https://stackoverflow.com/a/25586282/2102158 邮件应用程序不注册自己打开EML文件 使用MAPI32.dll等(我使用的代码从https://github.com/metageek-llc/inSSIDer-2/blob/master/MetaScanner/UnhandledException/MapiMailMessage.cs ) popup一个对话框说没有电子邮件程序注册。 看来邮件应用程序不会与MAPI交互 使用mailto:链接。 邮件程序打开,但它不尊重Attachment =或Attach =参数 也 Windows.ApplicationModel.Email.EmailMessage似乎只在手机上可用。 我不想用SMTP来发送消息服务器端。 我也尝试了与邮件应用程序关联的MS-UNISTORE_EMAIL:和OUTLOOKMAIL:urlscheme,它们似乎与mailto的行为相同: 似乎没有任何方法从命令行启动邮件应用程序

检测Windows重新启动是否由于Windows更新

我的电脑上的一些应用程序已经进行了检测,重新启动是否由Windows Update完成。 这是可观察到的,因为它们在自动Windows Update重新启动后重新启动。 这是非常有用的,因为这些应用程序重新加载更改,甚至未保存的更改或恢复选项卡(浏览器的情况下)。 这样做的应用程序的例子: 谷歌浏览器 Microsoft Visual Studio 微软油漆 在所有情况下,应用程序保存重启之前的状态 。 (我的电脑实际上是从待机状态自动唤醒的,并且在安装更新的时候重新启动了自己,太糟糕了,这样做不会回到待机状态。) 我的问题是:如何以编程方式检测这种重新启动? 在重新启动之前似乎是可靠检测到的。 问题我怎么才能得到Windows最后一次重启的原因可能看起来像重复,但没有答案说任何更新。 我用C#编写代码,所以在C#中的答案会很有帮助,但是我也可以读C和C ++。

什么是安全发布网站发布的最佳方式?

那么,根据你的经验,最好的方法是什么? 在构build自动化工具中是否还有可编写脚本/可触发的安全方法? 编辑:我应该提到这是Windows / .net,我将部署到iis6

DateTime.Now vs系统时间

让我们设想一下这个小程序运行: while (true) { Console.WriteLine($"{DateTime.UtcNow} -> {DateTime.Now} tz={TimeZone.CurrentTimeZone.StandardName} / {TimeZoneInfo.Local.StandardName}"); await Task.Delay(TimeSpan.FromSeconds(1)); } 当程序运行时,当我更改系统的时区时,应用程序看不到更改。 时区和时间就好像时区没有改变。 为了让应用程序显示新的时间和时区,我需要重新启动应用程序。 如果我改变了系统时间,则立即收到时间改变。 如果你能用三个问题来帮助我,那将是非常好的: 这是任何地方logging? 为什么在应用程序正在运行时没有select时区更改? 我可以做任何事情,让应用程序在运行时select时区更改吗? 下面是一个小小的屏幕截图,用于显示.NET应用程序使用与操作系统不同的时间: BTW。 在Raspberry Pi上的Windows IOT上,我的实验显示,如果我重新启动应用程序,它将显示新的时区,但是“旧”时间。 重新启动系统后,新的时间将被提取。

非COM,非.NET DLL的正确名称?

在Windows世界里,一个好东西的正确名称是什么。 老式的C + + DLL与导出的function? 不是一个COM DLL,而不是一个.NET DLL。 我们通过调用LoadLibrary()和GetProcAddress()调用的那种DLL? 我一直称它们为“平坦的DLL”,因为调用者不能从DLL实例化对象,但是什么是正确的名字? 编辑 感谢您的答案。 只是“DLL”在技术上可能是正确的,但是在我工作的地方,每个人都假设“DLL”意味着COM,或者推着.NET,所以我需要一个术语来区分我的意思。

无法保存applicationHost.config文件

我无法保存applicationHost.config文件,它说“保存失败,它是在另一个程序中打开”,而我停止IIS服务,并closuresVisual Studio,任何想法?

有一种更简单的方法来在C#控制台应用程序中使用Windows ctrl + v(粘贴)function吗?

我已经构build了一个具有命令解释器的控制台应用程序。 为了使事情更容易,我需要添加支持阅读剪贴板时按CTRL + V按下。 当我按Ctrl + V时 ,在控制台中看到符号^ V ,所以我用剪贴板文本replace那个字符。 一些谷歌search后,我发现剪贴板可以通过System.Windows.Forms.Clipboard.GetText()访问。 我的问题是: 是否有一个更好的解决scheme将剪贴板支持添加到控制台应用程序? 可能没有使用System.Windows.Forms.Clipboard? 也许一个互操作性的电话可以做到这一点? 这个解决scheme的一个缺点是剪贴板只有在线程被定义为[STAThread]时才起作用。 如果我能摆脱^ V符号,也会好很多。 这是当前解决scheme的代码: using System; using System.Threading; using System.Windows.Forms; namespace ConsoleApplication1 { class Program { public static readonly string ClipboardChar = Convert.ToChar(22).ToString(); [STAThread] static void Main(string[] args) { Console.Write("Do some pastin': "); //read Console.ForegroundColor = ConsoleColor.White; string result = […]

SymFromAddr使用C#

我试图看看如何使用C#中的SymFromAddr。 这是我得到的。 问题是, DbgHelp.SymFromAddr(processHandle, (ulong)threadAddress, ref displacement, ref symbolInfo)返回错误87.我在做什么错了? *做了一个微调。 现在已经填充了SizeOfStruct。 但没有结果。 static void GetThreadList(int processId, IntPtr processHandle) { Console.WriteLine(string.Format("Process Id: {0:X4}", processId)); var threadCollection = Process.GetProcessById(processId).Threads.OfType<ProcessThread>(); foreach (ProcessThread processThread in threadCollection) { ulong dwAddress = (ulong)ThreadStartAddress(processThread.Id, processHandle); Console.WriteLine(" Thread Id: {0:X4}, Start Address: {1:X16}", processThread.Id, dwAddress); } } static IntPtr ThreadStartAddress(int threadId, IntPtr processHandle) […]

在C#3.0中的Windows本地用户帐户的身份validation

如何在C#3.0中validation本地windows用户帐户 我必须validation密码的Windows操作系统是Vista和Win2K8。 注意:用户帐户是本地帐户,不是域帐户。 我在C#3.5(PrincipalContext类)中find了一个解决scheme,但在3.0框架中找不到。 请build议,谢谢

使用命令行csc.exe创build一个C#可移植类库?

我还没有find任何有关如何做到这一点的信息,甚至根本没有可能。 http://msdn.microsoft.com/en-us/library/e13syb43 没有提到关于构build一个可移植的类库的任何事情 http://msdn.microsoft.com/en-us/library/gg597391.aspx 没有提到任何有关命令行界面的内容。 有没有其他人试图做到这一点,发现一个解决scheme/发现它是不可能的?