未发布 Visual Studio 2017 v15.5预览版的新特性先睹为快 Microsoft延续了Visual Studio 2017快速迭代开发的步伐,最新发布了15.5预览版,这是VS2017这一广受欢迎的IDE自发布以来的第五次更新,该预览版的发布使用户可以先睹为快。
该预览版启用了一个称为“Stepping Back”的调试历史新特性。IntelliTrace会在整个断点的每一步上,自动对应用状态做快照,这将赋予开发人员浏览断点前后状态的能力,更易于观察在断点前后的运行效果。
此外,Microsoft还进一步改进了基于C#和Visual Basic的解决方案的加载速度。据其宣称,所有解决方案应可在10秒内至少加载一半以上。相应地,C++开发人员应能看到IntelliTrace在执行常见命令时,性能得到了显著的提升,其中包括重命名(Rename)、更改签名(Change Signature)和找出所有引用(Find All References)等。
VS2017 15.4的IDE为C#、VB和Python开发人员提供了一种通过“Control键+点击”进入所点击项定义的功能。该功能现在也已经添加到C++的开发中。还改进了C++代码的生成,一旦受此影响的C++项目在15.5下重新编译,应该就能体验到此次更新的改进。
VS2017在安装程序上也做了一些改进,这可能会受到那些安装了多个版本VS2017的开发人员(例如在最新的VS2017旁安装了VS2017预览版)的欢迎。现在安装时会自动地创建Windows恢复点,并且每个已安装的VS2017拷贝会以不同的项列出在“添加&删除程序”(Add & Remove Programs)安装阶段的显示中。
和其它预览版一样,该预览版也不应安装在生产环境中。完整的发行说明已经给出,其中涵盖了15.5第一个预览版中包含的所有改进。 未发布 地图服务器控件GIS Map Server v3.6发布,新增航空影像数据集功能 GIS Map Server是一款地图服务器控件,它将动态地图功能添加到了GLG工具包中并能与工具包一起使用或独立使用。GLG地图服务器控件将动态地图功能添加到了GLG工具包中并能与工具包一起使用或独立使用。当与工具包一起使用时,一个综合的GIS对象将负责完成变焦、摇摄、协同转换与地图转化,还会将地图服务器整合到GLG绘图功能中。当工具包在处理地图顶端的动态图标的转换时,还能实时地对它们进行更新。
GIS Map Server更新至v3.6版本,增加了航空影像数据集等功能。
最新GIS Map Server点击下载>>>
新的地图服务器功能:
新版本增加了与大型卫星一起使用的航空影像数据集功能。
卫星数据集,如World 15m Satellite Images,在没有图像数据的海洋区域使用黑色。当显示此图像时,黑色区域应视为透明。这是通过使用TRANSPARENT COLOR OPAQUE图层类型,并将黑色指定为透明颜色来实现的。透明色彩精确度也用于消除JPEG图像有损压缩的现象。
航空数据集,例如右图所示的US 0.5m Aerial Images,使用在UTM投影中创建的tiles。要在不同的投影中显示这个图块,需要对其进行转换(未投影)以使用lat / lon坐标。由于UTM矩形在lat / lon坐标中不是矩形,因此转换的图块将在填充有黑色的边缘处具有未使用的区域。当显示此图像时,这个黑色区域也应该被视为透明的。此外,由于tiles是从UTM投影转换而来的,tiles将出现重叠并且一个tiles中的透明区域的数据将由另一个重叠的tiles提供。

US 0.5m Aerial Images示例
地图服务器已经支持透明颜色属性。添加以下列出的新层属性,能更好地渲染卫星和航空图像数据集。
【本文作者
慧都Elyn,转载请注明出处】
未发布 条形码控件Dynamsoft Barcode Reader v5.1发布,新增JavaScript版本
v5.1更新内容(此次更新仅适用于Windows和JavaScript版本)
新增:
修复:
试用、下载、了解更多产品信息请点击"咨询在线客服"
未发布 2017年四大网络安全趋势 网络攻击在2016年创下了纪录,在2017年网络环境将更加危险。以下是2017年
网络安全的4个趋势。
不断变化的勒索软件
随着越来越多的数据存储在移动设备上,勒索软件在网络犯罪分子中非常受欢迎。这是一个有利可图的加密内容的漏洞,除非支付赎金,否则无法恢复。现在勒索软件越来越复杂,并且定位到任何设备。在夏季DEFCON会议上,Pen Test Partners的研究人员证明了攻击者如何控制互联网连接的恒温器并进行锁定,直到受害者接受赎金要求为止。
另一个新的趋势:网络犯罪分子目标通常是高管和其他有权力的人,他们更有可能为保护有价值的公司或个人信息而付款。
物联网IoT
数十亿新的物联网设备正在连接到企业网络。但考虑到很多不安全因素,大量使用只会增加黑客目标的数量。去年十月的Dyn攻击显示网络犯罪分子操纵物联网造成严重破坏是多么容易。特别令人不安的是,黑客将恶意软件部署到使用 IoT设备的机器人上进行DDoS攻击。他们还为模仿者创建了一个攻击模板。网络犯罪分子可以很容易地获取未来的源代码和其他攻击工具推出自己的僵尸网络。
移动安全威胁无处不在
大约4%的移动设备被恶意软件感染,而大约一半的移动设备受到暴露企业数据的高风险。员工仍然忽视公司协议,并将未经授权的移动应用程序下载到用于连接到企业网络的设备上。应用商店有时也会被流氓开发人员欺骗,他们创建恶意的开发环境,将恶意软件隐藏在表面上看起来安全的应用中。底线:随着越来越多的员工通过移动设备访问公司据,他们将注定要在2017年成为网络犯罪分子的更大目标。
政治黑客走向主流
国家定期进行cyberespionion,但国家赞助的网络攻击并不局限于工业间谍活动。“民主党全国大会”黑客提供了一个教科书的例子,说明团体如何代表国家赞助者采取行动,使用被盗的材料传播虚假信息,播种不和或传播宣传,以推动其政治目标。即使那些不直接参与政治的企业也需要更新威胁评估。威胁不再仅仅来自民族国家。安全从业人员还需要抵御各种使用网络攻击推动事业或推进议程的政治黑社会主义者所构成的威胁。
未发布 Edraw Office Viewer component教程(三):将MS Word、Excel、PowerPoint嵌入到WPF应用程序中 如何将Word、Excel、PowerPoint嵌入WPF应用程序?大部分人应该都记得可以将Excel图表嵌入到Word文档中的OLE技术,但该技术并不支持所有的Microsoft Office文档。它不支持表单中的多个MS Word实例。而Edraw office viewer component对于开发人员可以说是最简单的可以将Word文档、Excel工作表、PowerPoint演示文稿嵌入到WPF应用程序中的解决方案。
本文将演示如何逐步嵌入MS Word到wpf应用程序中。如果你没有officeviewer.ocx文件,请先安装。在组件安装文件夹中,你还可以找到wpf示例项目。
打开Visual Studio并创建一个新的WPF应用程序。
右键单击WpfApplication1解决方案。然后单击“Add”菜单并选择“User Control...”。
wpf项目中将会增加一个新的窗体。
选择“User Control”项。不是“User Control(WPF)”项。
双击解决方案面板中的UserControl1.CS。
打开“工具箱”面板,然后单击菜单中的“ Choose Items...”。在弹出的“Choose Toolbox Items”对话框中,选择“Edraw Office Viewer Component”,然后单击“确定”。
现在,Edraw Office Viewer Component已添加到工具箱的“常规”选项卡中。在UserControl窗体中拖动它。
通过Visual Studio将AxEDofficeLib和EDOfficeLib添加到该解决方案中。
输入打开word文档的C#代码,并保护word文档的修改如下所示:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; namespace WpfApplication1 { public partial class UserControl1 : UserControl { public UserControl1() { InitializeComponent(); } public void Open() { axEDOffice1.OpenFileDialog(); } public void Protect() { if (axEDOffice1.GetCurrentProgID() == "Word.Application") { axEDOffice1.ProtectDoc(2); } } public void Print() { axEDOffice1.PrintPreview(); } public void Close() { axEDOffice1.ExitOfficeApp(); } } } |
最后,你需要为UserControl编写主机窗口。切换到Windows1.xaml文件,然后添加打开、保护、打印和关闭的按钮,如图所示。

添加以下c#代码来关联office component。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfApplication1 { public partial class Window1 : Window { public Window1() { InitializeComponent(); } private void Open_Click(object sender, RoutedEventArgs e) { _host.Open(); } private void Protect_Click(object sender, RoutedEventArgs e) { _host.Protect(); } private void Print_Click(object sender, RoutedEventArgs e) { _host.Print(); } private void Close_Click(object sender, RoutedEventArgs e) { _host.Close(); } } } |
打开配置管理器。将Active Solution平台更改为x86选项。然后建立并运行。
Office Viewer component支持所有版本的MS Word。要将MS Excel或PowerPoint Visio、Project嵌入到WPF应用程序中,你只需要调用Open方法,如下所示:
public void Open() { //axEDOffice1.OpenFileDialog(); axEDOffice1.Open(sPath, "Word.Application"); axEDOffice1.Open(sPath, "Excel.Application"); axEDOffice1.Open(sPath, "PowerPoint.Application"); axEDOffice1.Open(sPath, "Visio.Application"); axEDOffice1.Open(sPath, "MSProject.Application"); } |
以上就是本次教程的全部内容,接下来会有更多相关教程,敬请关注!您也可以在评论者留下你的经验和建议。
未发布 轻松审计代码安全性,Windows 10有妙招 如果你是软件开发人员,又希望自己开发的软件安全性高一点,那么当前的Windows 10企业内部预览版(10.0.16253)中就有一个功能可以做到。
它的位置在“设置 – > Windows Defender – > Windows Defender安全中心 – >应用程序和浏览器控制 – >漏洞保护设置”中,你可以为整个系统或特定程序启用自定义漏洞利用设置。其中有很多不同的保护特性并且许多都可以在审计模式下打开。在审计模式下,它不是在出现情况时终止进程,而是将事件写入事件日志。对于管理员,这就意味着其会允许软件继续运行,同时能够使我们意识到这一情况是何时发生的。对于希望通过了解这些情况以此来改进产品的人来说,它其实是提供了一个启用安全功能的附加好处,即无需重新编译(在某些情况下),就能告诉你确切的程序代码在当它在运行时遇到问题的位置。在版本10.0.16253中,可以进行审计的保护特性包括:
任意代码保护 - 防止非图像支持的执行代码和代码页修改(例如VirtualAlloc / VirtualProtect创建/修改的代码)
阻止低完整性图像
阻止远程图像
阻止不受信任的字体
代码完整性守护者
禁用Win32k系统调用
不允许子进程
导出地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
导入地址过滤 - 将功能修补到另一个功能的一个常见方法中的一个步骤
模拟执行
验证API调用(CallerCheck)
验证图像依赖完整性
验证堆栈完整性
要充分利用此功能,我们需要安装Windows Performance Toolkit。它是Windows SDK安装程序的安装选项之一。当您启用了您感兴趣的设置后,打开管理命令提示符并浏览到Windows Performance Toolkit目录(通常为Program Files(x86) Windows Kits {Version} Windows Performance Toolkit)。您可以通过运行以下两个命令(在替换文件名所需的任何路径之后)启动并开始收集上述漏洞保护设置的跟踪以及解析堆栈跟踪所需的数据: xperf - “PROC_THREAD + LOADER”-f“wdeg_klogger.etl”
xperf -start“WDEG” - “Microsoft-Windows-Security-Mitigations:0xFFFFFFFFFFFFFF:0xFF:'stack'”-f“wdeg_unmerged.etl”
在您运行任何想要收集的方案之后,您可以停止跟踪并将数据与以下内容合并(再次替换文件名所需的任何路径):
xperf -stop -stop“WDEG”-d“wdeg_merged.etl”
然后,您可以删除创建的前两个文件,因为此时您将拥有第三个所需的所有数据。您可以在Windows Performance Analyzer(WPA)中打开生成的etl文件,并查看数据。
您可以使用wpaPreset文件扩展名保存它,在WPA中加载数据,转到我的预设(在WPA的较新版本中的文件 – >窗口 – >我的存在),选择导入,浏览到保存预设的任何地方,选择它,并双击它以显示视图。另外,您还需要加载符号,以充分利用这一点。您可以在WPA中在File-> Configure Symbols下设置符号; 您需要将其指向msdl.microsoft.com/download/symbols上的Microsoft符号服务器以及您的符号服务器(或您没有符号服务器设置的符号文件的位置)。您可以在加载跟踪时自动配置WPA加载符号,但也可以通过转到文件 – >加载符号来手动加载符号。一旦完成,您将能够轻松地查看堆栈跟踪。它就会像下面这样:
以下是在创建上述过程中我为x64控制台应用程序编译的示例代码:
#include #include using namespace std;void* CreateCodeInVirtualMemory(BOOL writable)
{ BYTE code[3] = { 0x33, 0xc0, 0xc3 }; LPVOID result = VirtualAlloc(NULL, sizeof(code), MEM_COMMIT | MEM_RESERVE, writable ? PAGE_EXECUTE_READWRITE : PAGE_READWRITE); if (result)
{
memcpy(result, code, sizeof(code));
} else cout << "VirtualAllocEx failed with error " << GetLastError() << endl; return result;
}void CreateCodeInVirtualMemoryAndExecute(BOOL useWritableMemory)
{ LPTHREAD_START_ROUTINE addr = (LPTHREAD_START_ROUTINE)CreateCodeInVirtualMemory(useWritableMemory); if (addr)
{ DWORD result = addr(NULL);
cout << "Code at 0x" << hex << (void*)addr << " returned " << result << endl;
} else cout << "NULL address was not executed" << endl;
}void ExecuteIllegalMemory()
{
CreateCodeInVirtualMemoryAndExecute(FALSE);
}
void PrintOptions()
{
cout << "Enter one of the following options:" << endl;
cout << "1 - Execute Memory Not Marked As Executable" << endl;
cout << "2 - Create Code in Virtual Memory" << endl;
cout << "3 - Create Code in Virtual Memory and Execute" << endl;
cout << "0 - Exit" << endl;
}void DecisionLoop()
{ while (true)
{ int selection;
PrintOptions();
cin >> selection; switch (selection)
{ case 0: return; case 1:
ExecuteIllegalMemory(); break; case 2:
CreateCodeInVirtualMemory(TRUE); break; case 3:
CreateCodeInVirtualMemoryAndExecute(TRUE); break; default:
cout << "Invalid input" << endl;
}
}
}int main()
{
DecisionLoop(); return 0;
}
在这里我没有去对它的应用做更多的介绍,但我相信我的抛砖引玉一定能够让更多的人对这一功能产生兴趣。
对于在事件查看器中的应用程序和服务日志中找到的大多数内容,您也可以以相同的方式完成此类操作——单击特定日志的属性,它将具有Provider-Name-Parts / LogName形式的名称。您只需要在xperf命令中使用“Provider-Name-Parts”部分即可。
未发布 图形图像处理控件ImageGear for .NET v22.2发布,增加新的简化示例 轻松地为程序添加扫描/压缩/条形码识别/PDF/文件查看与处理/图形编辑与处理等功能。
ImageGear for .NET是一款图形图像处理控件,具有扫描,压缩,浏览、添加注释,打印,图像编辑,OCR以及PDF和矢量图像支持,使开发人员可以快速地开发出图像处理程序,可用于.NET Framework2.0、3.0、3.5、4.0,ASP.NET,WPF,SilverLight,DirectX 10和Direct3D 10。支持超过100种图片格式,包含:TIFF, JPEG, CAD, Vector, 3D PDF, PDF/A, PS等。
ImageGear for .NET v22.2更新内容
改进:
ImageGear .NET v22.2在以下功能领域添加了一组新的简化示例,支持Visual Studio 2010和Visual Studio 2015:
▪ 注解
▪ 转换
▪ 图像处理和清理
▪ 元数据
▪ 医疗/ DICOM
▪ OCR
▪ PDF Security(以及如何“PDF Security”的新部分)
▪ 扫描
▪ 查看
所有原始示例仍然可用。
进一步完善了“如何使用...”的内容,您可以更容易找到所需的内容。
修复:
在ImageGear for .NET v22.2中为32位和64位版本添加的修复程序如下:
001-00-014589:修复了打开DOCX文件时System.ArgumentOutOfRange出现异常的问题。
001-00-014384:修复了PageView KeyDown事件在WPF中没有触发的问题。
001-00-013726:PDF页面在SVG中可以正确地呈现。
001-00-013973:修复了使用WPF缩略图/向量样本调整图像大小时出现的问题。
001-00-013734:修复了矢量样本中的问题,其中FIT_TO_HEIGHT在调整大小时会导致空白屏幕。
001-00-012898:添加文档用以阐明如何处理识别对象。
001-00-012099:添加文档用以阐明如何将识别组件添加到Web项目中。
001-00-012265:修复了阻止用户将ImGearARTRectangle边框设置为0的问题。
001-00-014586:修复了光栅化绘图算法,在加载某些Word文档时不会出现NullReferenceException。
注意:ImageGear for .NET文档提供了有关所有平台和.NET框架版本的信息。但是,并不是所有功能都可用于所有ImageGear for .NET版本,TWAIN和FreqIP仅支持32位平台。
基于浏览器的客户端图像浏览器Prizm ActiveX Viewer在线订购专享8折!

未发布 JavaScript网络摄像头和视频捕获Dynamsoft Camera SDK v5.2发布 JavaScript网络摄像头和视频捕获Dynamsoft Camera SDK v5.2发布。新版本将Windows服务部分重组为common Dynamsoft Service,由其他Dynamsoft Web-based Imaging SDKs共享。使用common Dynamsoft Service,你可以轻松地在应用程序中实现多个Dynamsoft HTML5 / JavaScript imaging SDK。
【Dynamsoft Camera SDK v5.2点击下载>>>】
例如,你的Web应用程序可能需要实现以下功能:
- 扫描纸质文件
- 从网络摄像头中捕获图像
- 从扫描的文档或网络摄像头中读取条形码
你可以同时使用Dynamic Web TWAIN、Dynamsoft Camera SDK和Dynamsoft Barcode Reader来满足你的要求。他们共享common Dynamsoft Service进行通信。你也可以轻松地在产品之间共享图像数据。
v5.2更新内容
- 更改了摄像头授权对话框的行为,默认情况下不会显示。
- 添加了一个新的方法dynamsoft.dcsEnv.setLanguage,用来设置摄像头授权对话框中使用的语言。
- 添加了一个新的方法getImagePartUrl,根据图像查看器中的索引获取图像的URL。
未发布 电子邮件.NET控件MailBee.NET Objects v11.0发布丨附下载 几行代码便可为应用程序添加E-Mail支持,简单高效。MailBee.NET Objects 是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
MailBee.NET Objects 更新至v11.0,增加新的Ews组件、新的密钥格式并与Visual Studio 2017进行测试。
MailBee.NET Objects v11.0点击下载>>>
更新内容:
新的Ews组件,通过其本地EWS协议访问MS Exchange服务器。
.NET Framework 3.5和4.0版本以及2.0和4.5版本现在包含在安装程序和NuGet包中。
所有.NET版本的MailBee.NET.dll现在具有相同的名称。
所有MailBee.NET DLL都添加了sha256签名(除了sha1)。
IDN域(具有国际域的电子邮件地址)支持发送和解析。
使用MailMessage.GetHtmlWithBase64EncodedRelatedFiles方法来保存HTML主体,相关图像直接嵌入到HTML中,这样就不需要在本地保存它们并在以后删除它们。
STARTTLS安全连接现在支持直接发送模式。要激活,请使用mailer.DirectSendDefaults.EnableStartTls = true,其中mailer是Smtp实例。
SecurityProtocol现在包括TlsAuto值,你可以使用该值来限制MailBee使用最佳支持的TLS协议(最高为TLS 1.2)。例如, imapClient.SslProtocol = SecurityProtocol.TlsAuto其中imapClient是Imap实例。
Imap.GetSpecialFolder方法,轻松找到文件夹例如已发送信息或草稿。
Imap,Smtp,Pop3类的GetStream方法现在允许你访问底层网络流。
支持Outlook 2016.MSG格式。
支持.PST文件中的通讯组列表。
添加MailMessage.Sender属性。
新的Logger.DateTimeFormatTimeOnly和Logger.DateTimeFormatFull属性在日志文件中配置了日期时间格式。
Bounce数据库已更新。
与Visual Studio 2017进行测试。
许可证密钥采用新的MN110格式。如果你有有效的维护合同,请与我们联系以接收你的新密钥。如果你的合同已经过期,请先更新。