Quantcast
Channel: .NET Framework Class Libraries forum
Viewing all 8156 articles
Browse latest View live

MS added a data collection clause to the license terms of their NuGet packages

$
0
0

I've been using the following NuGet packages in a few services I maintain:

I was going to upgrade these to version 1.1.28 today, but Visual Studio wanted me to accept a license first. The license now contains a clause that was not included in the "License-Stable.rtf" files installed by version 1.1.25 of these packages:

2.    DATA. The software may collect information about you and your use of the software, and send that to Microsoft. Microsoft may use this information to improve our products and services. You can learn more about data collection and use in the help documentation and the privacy statement at http://go.microsoft.com/fwlink/?LinkId=528096. Your use of the software operates as your consent to these practices.

The license web page has the "Last-Modified: Mon, 11 Apr 2016 20:21:39 GMT" header. Perhaps the license terms were modified on that date.

The NuGet Gallery pages for version 1.1.25 also refer to the same license web page. Perhaps that means the current license terms will apply to new downloads of the old version, too.

The Internet Archive Wayback Machine shows that the DATA clause was not yet included on September 28, 2015, and the EXPORT RESTRICTIONS clause was formatted differently. I had downloaded version 1.1.25 in June 2015.

NuGet.org says it does not support permanent deletion of packages, but that hardly matters if the owner can instead change the license terms of old versions.


How to get application focus out/in event

$
0
0

 Hi ,

We have a winforms application built on cab architecture.

We are having a main application and multiple child components over it, i need to identify when the control is moving out/in of the application (eg: if the user is switching from my application to IE).

I cannot use GetFocus/LoastFocus/Activated/Deactivated event as they are getting triggered with the cursor moving into any child control or opening dialog box from my mainform.

Please not that my mainform is not a MDI container.

Many thanks,

RP.

 

 

 

 


Riju Parayidayil

How to edit and save publisher document with c#

$
0
0

Hi All,


I have a template pub file , which i need to edit (want to replace some text and image) and save as new copy using c# code.

Many thanks,

RP 


Riju Parayidayil

Cortana's new Speech Recognition Engine for Desktop Applications

$
0
0

Hello,

I've done some research on this Topic and it appears that currently Microsoft has yet to port the new engine to the desktop platform so I was wondering if there were any plans for doing so? I'm preparing the neccessary tools atm to start developing a new Windows App but I cannot do that with the new UWP Platform since its restrictions are a handicap to me (e.g. voice recognition stops when the app looses focus), therefore Desktop applications would be the way to go for my case. I'm also not sure how far apart the System.Speech and Microsoft.Speech namespaces are from the new UWP Speech engine. Do you guys have any advice for me? I also saw a post on Stackoverflow from one of Microsoft's Employee's that suggested to use the WinRT libraries in the Desktop C# Project, which does seem to work, but I struggle at binding events to the SpeechRecognizer instance (The compiler tells me to use e.g. add_HypothesisGenerated() instead of SpeechRecognizer.HypothesisGenerated but I just fail at figuring out how to to bind the method. The Compiler says that it 'cannot explicitly call operator or accessor'.

Example:

reco.add_HypothesisGenerated(SpeechRecognizer_HypthosesisGenerated);

public void SpeechRecognizer_HypthosesisGenerated(SpeechRecognizer sender, SpeechRecognitionHypothesisGeneratedEventArgs args)

IntelliSense gives no error, but the compiler complains.

Any suggestions? I'd have liked to use Microsoft's CNTK but I'm guessing that's way out of my league and the C# Wrapper isn't completed yet either.

System.Diagnostics Start Process as Another User from IIS

$
0
0

This question has come up a few times in the past and from all my searching there does not seem to be a clear answer.

I have a Windows 2012 server running IIS 8, it is joined to a domain and the AppPool is running as a domain user account with local admin rights on the hosting server (for testing).

I am attempting to start a new process from a web page that calls an exe on the local box (certutil.exe), but run the process as the account logged into the webpage. I am prompting the user for their credentials and then passing them through to the process .username, .password, and .domain properties successfully. The process starts on the webserver as the user without any problems;however, it does not have rights to continue. If a try other exe's (cmd with echo out) and do not run as the explicit user I have no issues. I am suspecting UAC, but I am not allowed to turn it off.

ProcMon shows the same two access issues not matter what process I run:

"File locked with only readers" for "createfilemapping" on "C:\Windows\System32\conhost.exe"

And:

"Name Not Found" for "RegOpenKey" on "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\Conhost.exe"

Has anyone been able to start processes as another user from IIS with UAC enabled successfully? (Keeping in mind that the target process I need to launch does not require elevation).

Thank you,

Patrick

Dundas charts don’t display in Framework 4.6.1/VS 2013

$
0
0

Hi,

My tech team just migrated our applications from .Net Framework 3.5/Visual Studio 2010 TO 4.6.1/Visual Studio 2013.

Testing has progressed swimmingly except for one major bugaboo: our Dundas controls no longer appear in the GUI aspx page. Instead, we're seeing a small box with an "x" in the middle, like it's a placeholder or something.

Interestingly, we are confident that the graphs are being created successfully. We know this because we use a third party software, SpreadsheetGear, to insert the graphs into Excel. This works great. We can see the completed graph within Excel. But not within the .Net Framework environment.

Frankly, I'm at a loss. The only clue is PERHAPS the licences.licx file, because at some point during my analysis I tried to create a basic dundas chart control and received an error message that mentioned this file. Still, I have no idea if this error is misleading or substantive. Or, if it is substantive, how to resolve it.

Naturally, I thank one and all for any assistance.

How to elevate the newly created process?

$
0
0

I have created two console applications namely app1 and app2. In my development environment i have two users: user1 and user2. If i had logged on as user1, then my intention is to run the program as user2. To accomplish that in app1, i am creating a process along with the credentials of the user2. Using this process i run app2. Since i am updating the registry settings, i had modified the manifest of the app2 with requestedExecutionLevel level="requireAdministrator". When i try to run the program app1, i am getting the following exception :

Exception: The requested operation requires elevation at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) at System.Diagnostics.Process.Start() at System.Diagnostics.Process.Start(ProcessStartInfo startInfo) at logonLauncher.Program.Main(String[] args) in C:\Projects\app2\app2\Program.cs:line 34 Completed!!

Following is the snippet of the code in app1 to create the process.

 System.Diagnostics.Process proc = new System.Diagnostics.Process();
            System.Security.SecureString ssPwd = new System.Security.SecureString();
                   
            proc.StartInfo.FileName = @"C:\Projects\app2\app2\bin\app2.exe";
            proc.StartInfo.LoadUserProfile = true;
            proc.StartInfo.UserName = "user2";
           
            string password = "user2";
            for (int x = 0; x < password.Length; x++)
            {
                ssPwd.AppendChar(password[x]);
            }
            proc.StartInfo.Password = ssPwd;
            proc.StartInfo.UseShellExecute = false;
            proc.StartInfo.Verb = "runas";
            try
            {
             
                Process p = Process.Start(proc.StartInfo);
            }
            catch (Exception e)
            {
                Console.WriteLine("Exception: "+ e.Message + e.StackTrace.ToString());
            }

Is there exist a method to elevate the created process? The above program runs perfectly if the manifest is default. But i need to run app2 as adminstrator since i need to update the registry of user2. Please suggest a workaround for this problem. 



Socket BindToInterface

$
0
0

 I've been trying to bind a .net Socket to a NetworkInterface via the Socket.IOControl code BindToInterface, but whenever I try to use it I get a "unsupported operation" error code in a SocketException that is thrown. The documentation has no mention of what the constraints for this operation are to be supported. Nor does anything I can find about winsock2's SIO_INDEX_BIND which BindToInterface apparently wraps.


Application Exception vs Exception??

$
0
0

Why do we need to define the ApplicationException when we have Exception class?

And In a MVC architect application, where should we implement the ApplicationException approach, clent or server??


Thanks!! http://gurunguns.wordpress.com

Reference Source dotnet40

$
0
0

We are using .Net 4.0 framework and have memory leak problem with System.Activities.Presentation.dll

Could you please give us the reference source of .Net 4.0?

On the page http://referencesource.microsoft.com/ , we just can find .Net 4.5 or higher.

Thank you very much!

Migrating to Frame Work 4.6.1 from 3.5 issues

$
0
0

Hi,

I am migrating the ASP.NET website from 3.5 to 4.6.1. I did the following

Step1) Created a empty asp.net website in 4.6.1

step2) Copied the webpages from the old website to new website

Step3) copied few sections from web.config to the new one.

I am not sure what all config sections need to be copied over to the new 4.6.1 web.config file

I am getting this error:

----------------------------------------------------------------------------------------------------------


HTTP Error 500.0 - Internal Server Error

Detailed Error Information:

Module
   AspNetInitClrHostFailureModule

Notification
   BeginRequest

Handler
   PageHandlerFactory-Integrated-4.0

Error Code
   0x80070006

Requested URL
   http://localhost:59425/default.aspx

Physical Path
   C:\website1\website1\default.aspx

Logon Method
   Not yet determined

Logon User
   Not yet determined

Request Tracing Directory
   C:\Users\abc\Documents\IISExpress\TraceLogFiles\website1


----------------------------------------------------------------------------------------------------------

Not sure whats going wrong.


Old config file:

----------------
<?
xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
<section name="parmsSection" type="System.Configuration.SingleTagSectionHandler" />
</configSections>
<parmsSection configADSServerName="ABC" configBaseOU="XYZ" configBaseOUName="asd"/>
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="10000"/>
</appSettings>
<connectionStrings>
<add name="ConnectionStrin" connectionString="(...)" providerName="System.Data.Odbc"/>
<add name="ConnectionStrin2" connectionString="(..)" providerName="System.Data.Odbc"/>
</ connectionStrings>
<system.web>
<compilation debug="true" strict="false" explicit="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
<pages maintainScrollPositionOnPostBack="true">
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Generic"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Linq"/>
<add namespace="System.Xml.Linq"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</controls>
</pages>
<authentication mode="Windows"/>
<customErrors mode="Off">
</customErrors><httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
</httpHandlers>
<httpModules><add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</httpModules>
 <!--
  </system.web>
 <system.codedom>
 <compilers>
 <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/>
</compiler>
</compilers>
</system.codedom>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</handlers>
<security>
<authorization>
<add accessType="Allow" users="*" />
<add accessType="Allow" users="abc\Domain Users" />
</authorization>
</security>
</system.webServer>
runtime>
<ssemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
 <dependentAssembly><assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

--------------------------------------------------------------------------------------

NewConfig File:
-----------------
<? xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="parmsSection" type="System.Configuration.SingleTagSectionHandler" /></configSections>
<appSettings>
<add key="aspnet:MaxHttpCollectionKeys" value="10000"/>
</appSettings>
<connectionStrings>
<add name="ConnectionStr" connectionString="(My connection string)" providerName="System.Data.Odbc"/>
<add name="ConnectionStr2" connectionString="(My connection string)" providerName="System.Data.Odbc"/>
</connectionStrings>
<system.web>
<compilation debug="true" strict="false" explicit="true" targetFramework="4.6.1"/>
<httpRuntime targetFramework="4.6.1"/>
<pages maintainScrollPositionOnPostBack="true"/>
<authentication mode="Windows"/>
<customErrors mode="Off"></customErrors>
<authorization>
<allow users="*"/>
<allow users="ABC\Domain Users"/>
</authorization>
</system.web>
<system.codedom>
<compilers><compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>
</system.codedom></configuration>


PowerShell via Managed C++: PSCmdlet vs ps command vs powershell vs Cmdlet Classes

$
0
0

Hi,

I am trying to execute PS Command(Via Managed C++ code). I found so many variants for the same.

Can someone explain me whats the difference between below 4 or more if there any any such:
PSCmdlet class vs ps command class vs powershell class vs Cmdlet Classes below:

1. https://msdn.microsoft.com/en-in/library/system.management.automation.powershell(v=vs.85).aspx

2. https://msdn.microsoft.com/en-us/library/system.management.automation.pscommand_members(v=vs.85).aspx

3. https://msdn.microsoft.com/en-us/library/ms714395(v=vs.85).aspx

Its so confusing.

Thanks !



TLS 1.2 / WebClient

$
0
0

Hello,

I need to be able to post to a Web service using TLS 1.2 in my .Net framework 4.5.2 application. Before I get further here is the context. I have a Windows Service which monitors a database queue tables, then based on the queue items found there loadsvarious different plugins to process the work. Each work item is processed by only one plugin, but the service supports as many different plugin types as one wishes to make.

Additionally, each work item is processed in the context of a ThreadPool. So the basic code flow is Timer_Tick => Check for work items => Work item found => Load Queue Item Class and attach it to ThreadPool => Pool starts thread, Process() function dynamically loads plugin.dll, loads class, calls predefined methods.

Now all of this is important because one of our vendors utilizes TLS 1.2 very strictly. This means when using WebClient in order to post to them I have to:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

using(WebClient Client = new WebClient()) { ..... code ....... }

Now in the context of this particular plugin, this solution is very neat and works well. That said. As I mention this plugin is the only one that needs Tls12 set, and in fact my other plugins require that ServicePointManager.SecurityProtocol beunset. My problem is due to the threaded nature of what I'm doing, I can't very well have SecurityProtocol set properly for each request because it is static - global to the process.

Is there some other methodology of posting to a web service which would allow me to set the SecurityProtocol directly for that specific connection without modifying global security properties?

How to update the local group policy of another user using IGroupPolicyObject2?

$
0
0

I am trying to update the local group policy of another user using IGroupPolicyObject2. I am not able to get any sample code for that. Do anyone know to use GetRegistryKeyPathof IGroupPolicyObject2.

I had used IGroupPolicyObject , but it updates the current users group policy.

Change each running .exe sound output device

$
0
0

Hello.

I would like to know how can i change the playback device and also the input device for each running application shown in Windows Mixer.

Ive done quite a search and all i found was some third party libraries that make life easier for manipulating the default device or the mixer options seperately.

Im looking forward for your reply.

PS my solution will be in .net 4.5 and can be written in VB or C#

Best regards Ilias P.


Fsharp and berkeleyDB connectivity

$
0
0

Hi,

New to F# and Berkeley DB. I was trying to create a Berkeley DB database from F#. So I was using libdb_dotnet51.dll ,libdb_csharp51.dll, libdb51.dll .

env = DatabaseEnvironment.Open("Datababase_name",new DatabaseEnvironmentconfig())

but this line is giving

An unhandled exception of type 'System.TypeInitializationException' occurred in libdb_dotnet51.dll
Additional information: The type initializer for 'BerkeleyDB.Internal.libdb_csharpPINVOKE' threw an exception.

please someone help!!

I have also added the dll path to the path environment variable!

BindtoObject of System.Runtime.InteropServices.ComTypes.Imoniker returning exception

$
0
0

Hi,

I am calling BindToObject method of System.Runtime.InteropServices.ComTypes Imoniker interface to access webcam of laptop.

But this method returning exceptions as Insufficient Memory to execute.

Thanks,

Anand

RSACryptoServiceProvider and seeds

$
0
0

Hello,

First, I would like to mention that my knowledge in cryptography is very limited.

Now, I’m re-writing an old C++ program in C#. The old C++ program uses OpenSSL to generate a public and a private RSA keys.

With OpenSSL, you need to “seed” the cryptography context before generating the RSA keys.

I’ve searched around and it seems this is not necessary with RSACryptoServiceProvider. I found no information about how to “seed” the RSACryptoServiceProvider or if it is necessary.

I strongly suspect that the RSACryptoServiceProvider class takes care of the seeds. Is that correct?

Thanks.

Charles-Antoine Caron

Encountering Lock on Main Thread (WinForms/Deadlock)

$
0
0

Hi,

My main thread encounters a 

lock (mLock){...}

when first entering a tab in a tab control (i.e. OnEnter handler). It is stopping indefinitely at the lock unless I create a separate thread which executes the code above. What is the reason for this apparent deadlock? All other threads executing that encounter the associated locks are workers. Is the main thread somehow responsible for relinquishing control back to the workers so they cannot run and release the lock. If so, I do not see why. Answers definitely appreciated.

Thanks for looking,

Alan

The unknown encoded in emf-EMR_EXTTEXTOUTW-EmrText-OutputString

$
0
0
I extracted EMR_EXTTEXTOUTW elements from an emf file,then extracted  EmrText elements from EMR_EXTTEXTOUTW elements,then extracted  OutputString elements from EmrText elements.according to definition,OutputString's encoded is 16-bit Unicode UTF16-LEcharacters.

But some   OutputStrings extracted from emf couldn't encode by Unicode UTF16-LE

compare to pictures by emf,I found some comparisons to this unknown encoded ,"13 00" ->"0","14 00"->"1",but unicode "0"is"30 00","1"is"31 00"

what is the unknown encode?
Viewing all 8156 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>