问题列表 - 第47566页

使用C++代码中的Windows本机程序打开文件

我的C++程序创建了.png文件,我需要在创建后立即打开(查看)这个文件 - 有没有办法打开它,因为它是在Windows资源管理器中打开的 - 所以文件可以用用户的首选程序打开,如果有的话没有与文件格式相关的程序 - Windows将显示对话窗口,用户可以在其中选择任何程序来打开该文件.

Crossplatform(+ Linux,+ MacOS,+ BSD)解决方案将是完美的.

谢谢.

c++ windows explorer windows-explorer graphviz

3
推荐指数
1
解决办法
2501
查看次数

来自常量的WPF图像源

我有一些图标是我项目中的资源,我打算将这些图标用于菜单项和其他内容.

我创建了一个常量类来将这些图标的位置保存在一个中心位置,而不是将它们硬编码到每个菜单项等中.

例如

public const string IconName = "/Project;component/Icons/IconName.png";
Run Code Online (Sandbox Code Playgroud)

如果我将此值硬编码到xaml中图像的Source属性中,它可以正常工作.但是,如果我尝试引用此常量,那么它将失败.

例如

<Image Source="{x:Static pb:IconConstants.IconName}" Width="16" Height="16" />
Run Code Online (Sandbox Code Playgroud)

它失败并出现此异常:"无法将属性'Source'中的值转换为'System.Windows.Media.ImageSource'类型的对象."

这和我刚刚硬编码的区别是什么?有没有更好的方法在xaml中引用我的常量?

谢谢,艾伦

c# wpf xaml image constants

3
推荐指数
1
解决办法
4385
查看次数

VB.NET相当于这段代码

什么是这个代码的VB.NET等价物..

public virtual ICollection<Comment> Comments { get; set; }
Run Code Online (Sandbox Code Playgroud)

c# vb.net c#-to-vb.net

14
推荐指数
2
解决办法
2万
查看次数

这是WebMatrix PageData中的错误吗?

我想我可能在WebMatrix的PageData中发现了一个错误,但我不确定.它涉及如何将数据从部分页面传递回调用页面.

在WebMatrix文档(教程,例如" 3 - 创建一致外观 "和示例代码)中,建议使用PageData作为在页面之间传递数据的机制(例如,从内容页面到布局页面,或者到部分页面) .

但是我发现这并不总是以另一种方式工作,将数据从部分页面传递回调用页面.在部分页面中修改或添加PageData中的条目似乎不会返回到调用页面.

从最简单的可能示例开始,在测试页面中我们可能会这样:

@{
    PageData["test"] = "Initial entry";
}

<p>Before calling the partial page, the test value is @PageData["test"]</p>

@RenderPage("_TestPartial.cshtml")

<p>After returning to the calling page, the test value is @PageData["test"]</p>
Run Code Online (Sandbox Code Playgroud)

在_TestPartial.cshtml页面中我们可能会这样:

@{
    PageData["test"] = "Modified entry";
}

<p>In the partial page, the test value has been modified to @PageData["test"]</p>
Run Code Online (Sandbox Code Playgroud)

结果输出如下:

在调用部分页面之前,测试值为Initial entry

在部分页面中,测试值已修改为修改条目

返回调用页面后,测试值为Initial entry

因此,当您返回到调用页面时,部分页面对PageData的修改将丢失.如果我们在部分页面中向PageData添加新条目,则会出现同样的情况.它们在返回调用页面时丢失了.

我不知道这种行为是否是一个错误,或者它是否是有意的,但它让你没有一种干净的方式将数据从部分页面传递回其调用页面.还有另一种(相对干净的)方法吗?或者,如果它是一个bug,是否有解决方法?

webmatrix razor

3
推荐指数
1
解决办法
1492
查看次数

在两个单词之间输出文本

我想使用PHP输入某个文本,输出应该是两个单词之间的文本.澄清:

输入:

Lorem ipsum dolor sit amet
Run Code Online (Sandbox Code Playgroud)

输出:

dolor sit
Run Code Online (Sandbox Code Playgroud)

php search

7
推荐指数
1
解决办法
3847
查看次数

Python gettext - 不翻译

示例python程序:[CGI脚本,因此它需要选择自己的语言,而不是使用主机操作系统设置的任何内容]

import gettext
gettext.install('test', "./locale")
_ = gettext.gettext

t = gettext.translation('test', "./locale", languages=['fr'])
t.install()

print _("Hello world")
Run Code Online (Sandbox Code Playgroud)

./locale/fr/LC_messages/test.mo包含转换(作为二进制文件,通过在.po文件上运行msgfmt生成).

程序打印"Hello world"而不是翻译版本.可能是什么问题呢?

python gettext internationalization

6
推荐指数
1
解决办法
3297
查看次数

SessionID在Azure中(可能在Web场中)的不同实例之间进行更改

我有一个带有一个WebRole的Azure项目有问题,但有多个实例使用无cookie会话.该应用程序不需要会话存储,因此它不使用任何会话存储提供程序,但我需要跟踪SessionID.显然,SessionID应该与WebRole实例相同,但它会突然改变,无需解释.我们使用SessionID来跟踪一些数据,因此非常重要.

为了重现这个问题:

  1. 创建云项目.

  2. 添加ASP.NET Web角色.已有的代码可以.

  3. 打开 Default.aspx

  4. 添加控件以查看当前SessionID和按钮以进行回发

            <p><%= Session.SessionID %></p>
            <asp:Button ID="Button1" runat="server" Text="PostBack" onclick="Button1_Click" />
    
    Run Code Online (Sandbox Code Playgroud)
  5. 为按钮添加一个事件处理程序,它会稍微延迟响应:

    protected void Button1_Click(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(150);
    }
    
    Run Code Online (Sandbox Code Playgroud)
  6. 打开 Web.Config

  7. 启用无Cookie会话:

    <system.web>
            <sessionState cookieless="true" />
    </system.web>
    
    Run Code Online (Sandbox Code Playgroud)
  8. 运行项目,快速点击"PostBack"按钮一段时间,注意地址栏中的会话ID.什么都没发生,会话ID始终是相同的:).停下来.

  9. 打开 ServiceConfiguration.csfg

  10. 启用四个实例:

    <Instances count="4" />
    
    Run Code Online (Sandbox Code Playgroud)
  11. 确保在Web.config中有一行与Visual Studio自动添加的机器密钥相关联.(在system.web的末尾).

  12. 重新运行项目,快速点击"Postback"按钮一段时间,然后注意地址栏中的会话ID.你会看到SessionID一段时间后的变化.

为什么会这样?据我所知,如果所有机器都共享machineKey,那么会话应该是相同的.使用cookie没有问题,问题显然是在使用无cookie会话时.

我最好的猜测是,当有多个实例,当SessionID一个实例生成一个实例WebRole,被拒绝并重新生成时,会发生错误.这没有意义,因为所有WebRole的都有相同的machineKey.

为了找出问题,并更清楚地看到它,我创建了自己的SessionIDManager:

public class MySessionIDManager : …
Run Code Online (Sandbox Code Playgroud)

asp.net session web-farm azure cookieless

6
推荐指数
1
解决办法
2686
查看次数

将表示为包含时区名称('z')的字符串的时间转换为UTC时间

我想将字符串转换为"20000603163334 GST"或转换"20000603163334 -0300"为UTC时间.问题是我的字符串中的时区可以是"一般时区",我的意思是它们可以是CET,GST等字符串.我不知道如何转换这些.

由于这些字符串时区我不能使用Joda Time DateTimeFormat.forPattern("yyyyMMddhhmmss z").withZone(DateTimeZone.UTC);,因为根据文档: "时区名称('z')无法解析".

所以,我有一个问题是,如果你知道在Joda Time中解决这个限制的方法吗?如果可能的话,我更愿意使用Joda Time而不是标准的Java API.

另一个我认为可以用时区名称解决这个问题的方法是使用Java SimpleDateFormat.所以我做了类似的事情:

SimpleDateFormat f = new SimpleDateFormat("yyyyMMddhhmmss z");
//f.setTimeZone(TimeZone.getTimeZone("UTC"));
f.setCalendar(new GregorianCalendar(TimeZone.getTimeZone("UTC")));
Date time = f.parse("20000603163334 GST");
Run Code Online (Sandbox Code Playgroud)

SimpleDateFormat解析String(我不关心这里大约有具有相同名称的多个时区的问题-这是什么类解析它是为我好).

问题是我不知道如何将它从这里转换为UTC.我怎样才能做到这一点?

我将f's时区设置为UTC(从上面两种方式)的事实并没有帮助.我希望有人可以帮我解决这个问题,我在这里看了很多关于这个主题的问题和答案,在stackoverflow上,但我还没有找到解决方案.

java timezone datetime utc jodatime

3
推荐指数
1
解决办法
9036
查看次数

在启动时以管理员身份运行程序

我有一个自助服务终端应用程序,并希望在启动时运行它.这里的问题是,当我将Registry值设置为在启动时打开它时,它不会以管理员身份打开程序,因此该程序可能无法正常工作.我正在使用Windows 7.任何人都可以帮助我使用代码以管理员身份运行它吗?某些程序(例如anit-virus和病毒本身)在启动时以管理员身份工作,而不会要求用户接受作为管理员运行,这正是我想要做的.非常感谢任何帮助.

c# administrator

5
推荐指数
1
解决办法
8167
查看次数

如何使用密码加密的Privatekey生成RSA keyPair?

我想生成一个用密码加密的私钥PKCS8格式,我尝试使用这段代码:

String password = "123456";
KeyPairGenerator gen = KeyPairGenerator.getInstance("RSA");
gen.initialize(2048);
KeyPair key = gen.generateKeyPair();
PrivateKey privateKey = key.getPrivate();
PublicKey publicKey = key.getPublic();

FileOutputStream pvt = new FileOutputStream("d:\\pvt123456.der");
try {
    pvt.write(privateKey.getEncoded());
    pvt.flush();
} finally {
    pvt.close();
}
FileOutputStream pub = new FileOutputStream("d:\\pub123456.der");
try {
    pub.write(publicKey.getEncoded());
    pub.flush();
} finally {
    pub.close();
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用3des加密密码以与openssl格式兼容.

java openssl bouncycastle private-key

13
推荐指数
1
解决办法
4万
查看次数