问题列表 - 第26732页

拖放到Powershell脚本

我以为我对此有了答案,但是我玩的越多,我就越认为它是Powershell的设计缺陷.

我想拖放(或使用Send-To机制)将多个文件和/或文件夹作为数组传递给Powershell脚本.

测试脚本

#Test.ps1
param ( [string[]] $Paths, [string] $ExampleParameter )
"Paths"
$Paths
"args"
$args
Run Code Online (Sandbox Code Playgroud)

尝试#1

我使用以下命令行创建了一个快捷方式,并将一些文件拖到它上面.这些文件作为单独的参数出现,这些参数首先匹配脚本参数的位置,其余部分放在$ args数组中.

尝试#1的快捷方式

powershell.exe -noprofile -noexit -file c:\Test.ps1
Run Code Online (Sandbox Code Playgroud)

包装脚本

我发现我可以用包装脚本做到这一点......

#TestWrapper.ps1
& .\Test.ps1 -Paths $args
Run Code Online (Sandbox Code Playgroud)

包装脚本的快捷方式

powershell.exe -noprofile -noexit -file c:\TestWrapper.ps1
Run Code Online (Sandbox Code Playgroud)

批处理文件包装器脚本

它通过批处理文件包装脚本工作...

REM TestWrapper.bat
SET args='%1'
:More
SHIFT
IF '%1' == '' GOTO Done
SET args=%args%,'%1'
GOTO More
:Done
Powershell.exe -noprofile -noexit -command "& {c:\test.ps1 %args%}"
Run Code Online (Sandbox Code Playgroud)

尝试回答

Keith Hill提出了使用以下快捷命令行的优秀建议,但它没有正确传递参数.当到达Test.ps1脚本时,带有空格的路径被拆分.

powershell.exe -noprofile -noexit -command "& {c:\test1.ps1 $args}"
Run Code Online (Sandbox Code Playgroud)

有没有人找到一种方法来做到这一点没有额外的脚本?

powershell

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

响应页面加载后添加到文档的元素的单击事件

我正在编写一个页面,它使用jQuery for AJAX进行大量的原位编辑和更新.

我遇到了一个问题,可以通过下面描述的工作流程进行总结:

  1. 单击页面上的"element1"会导致jQuery AJAX POST
  2. 数据以json格式接收
  3. 以json格式接收的数据
  4. 接收的数据用于更新页面中现有元素的"结果"
  5. 收到的数据实际上是HTML表单
  6. 我希望jQuery在单击表单按钮时负责POST表单

问题出现在上面的第6点.我的主页面中的代码如下所示:

$(document).ready(function(){
  $('img#inserted_form_btn').click(function(){
   $.ajax({'type': 'POST', 'url': 'www.example.com', 'success': function($data){
      $(data.id).html($data.frm);
     }), 'dataType': 'json'}
  });
});
Run Code Online (Sandbox Code Playgroud)

但是,事件未被触发.我认为这是因为首次加载文档时,页面上不存在img#inserted_form_btn元素(由于在页面上单击了一个元素(未在上面的代码中显示),因此将其插入到DOM中保持问题简短)

因此,我的问题是:如何让jQuery能够响应页面加载后添加到DOM中的元素中发生的事件?

jquery dom

2
推荐指数
1
解决办法
2775
查看次数

Java分裂正在吃我的角色

我有这样的字符串String str = "la$le\\$li$lo".

我想拆分它以获得以下输出"la","le\\$li","lo".\ $是一个$转义所以它应该留在输出中.

但是,当我做 str.split("[^\\\\]\\$")ÿ得到"l","le\\$l","lo".

从我得到的我的正则表达式匹配$和i $然后删除.知道如何让我的角色回来吗?

谢谢

java regex string split

16
推荐指数
1
解决办法
4928
查看次数

检测.net中的Windows版本

如何在.net中检测Windows操作系统版本?

我可以使用什么代码?

.net c# windows operating-system

140
推荐指数
10
解决办法
10万
查看次数

使非客户区无效

我有一个具有自定义边框/标题的窗口,为了做到这一点,我处理 WM_NCPAINT 消息。我的标题有两种背景,一种较亮的用于活动窗口,一种较暗的用于背景窗口。

但在某些情况下,例如当窗口失去/获得焦点时,我的标题没有更新,所以我以错误的背景结束。

到目前为止,我已经处理了 WM_NCACTIVATE,并发送了一个 RedrawWindow(hwnd, NULL, NULL, RDW_FRAME|RDW_INVALIDATE),但这会导致整个窗口重新绘制。您对此有什么建议吗?

c++ windows gdi

7
推荐指数
2
解决办法
8128
查看次数

单个配置密钥的多个值

我试图用来ConfigurationManager.AppSettings.GetValues()检索单个键的多个配置值,但我总是收到一个只有最后一个值的数组.我的appsettings.config样子

<add key="mykey" value="A"/>
<add key="mykey" value="B"/>
<add key="mykey" value="C"/>
Run Code Online (Sandbox Code Playgroud)

而我正试图访问

ConfigurationManager.AppSettings.GetValues("mykey");
Run Code Online (Sandbox Code Playgroud)

但我只是得到了{ "C" }.

关于如何解决这个问题的任何想法?

.net asp.net configuration

41
推荐指数
5
解决办法
5万
查看次数

DataGridView验证旧值的新值

我有一个绑定到DataTable的DataGridView,它有一个double的列,值必须介于0和1之间.这是我的代码

private void dgvImpRDP_InfinityRDPLogin_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
    if (e.ColumnIndex == dtxtPercentageOfUsersAllowed.Index)
    {
        double percentage;
        if(dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, e.RowIndex].Value.GetType() == typeof(double))
            percentage = (double)dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, e.RowIndex].Value;
        else if (!double.TryParse(dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, e.RowIndex].Value.ToString(), out percentage))
        {
            e.Cancel = true;
            dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, e.RowIndex].ErrorText = "The value must be between 0 and 1";
            return;
        }
        if (percentage < 0 || percentage > 1)
        {
            e.Cancel = true;
            dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, e.RowIndex].ErrorText = "The value must be between 0 and 1";
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我在dgvImpRDP_InfinityRDPLogin_CellValidating火灾时的问题dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, e.RowIndex].Value将包含编辑前的旧值,而不是新值.

例如可以说旧值是1.1和我进入3,上面的代码,当你退出电池,并运行dgvImpRDP_InfinityRDPLogin[e.ColumnIndex, …

c# validation datagridview

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

如何在模板类中拆分模板友元函数的定义?

下面的示例编译良好,但我无法弄清楚如何在这种特殊情况下分离运算符 <<() 的声明和定义。

每次我尝试拆分定义时,朋友都会造成麻烦,并且 gcc 抱怨运算符 <<() 定义必须恰好采用一个参数。

#include <iostream>
template <typename T>
class Test {
    public:
        Test(const T& value) : value_(value) {}

        template <typename STREAM>
        friend STREAM& operator<<(STREAM& os, const Test<T>& rhs) {
            os << rhs.value_;
            return os;
        }
    private:
        T value_;
};

int main() {
    std::cout << Test<int>(5) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

Operator<<() 应该有一个自由的第一个参数来处理不同类型的输出流(std::cout、std::wcout 或 boost::asio::ip::tcp::iostream)。第二个参数应该绑定到周围类的专门版本。

Test<int> x;
some_other_class y;

std::cout << x; // works
boost::asio::ip::tcp::iostream << x; // works

std::cout << y; // doesn't work
boost::asio::ip::tcp::iostream << y; …
Run Code Online (Sandbox Code Playgroud)

c++ templates friend-function

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

加载动画png

我正在寻找一个透明的动画加载图标; 然而(我知道我很懒)我不想自己做.如果这不是这篇文章的正确论坛,请原谅我,过去我刚刚有这么多运气.有谁知道我在哪里可以找到其中之一....它需要非常小(图标大小).

png loading transparent

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

如何停止/解决Java应用程序窃取Linux窗口管理器的焦点

我们想用Java快速构建小部件原型.我们将它们叠加在用专有第三方图形包编写的显示器上.我们发现Java GUI会从窗口管理器中窃取键盘焦点.

窗口管理器是fvwm,我已经尝试配置它以便Java应用程序设置为不获得焦点,而且如果它确实得到焦点将它拿走并将其提供给其他GUI.

如果我使用Java应用程序运行它它不起作用(只要鼠标在Java GUI上它有键盘焦点) - 如果我交换一些标准的X GUI小部件(XEyes)代替Java GUI它就像一个魅力.这为Java不尊重ICCCM的声明(由fvwm的人员维护)提供了一些可靠性.

我想知道其他人是否已经解决了这个问题,如果是这样的话.到目前为止,我有一些选择如何尝试解决这个问题:

1)旋转Java设置,希望如果我关闭焦点,可能会将焦点控制交还给窗口管理器(到目前为止,我在父JFrame上尝试了"setFocusable(false)".这不起作用.线程" http://java.sun.com/javase/6/webnotes/trouble/TSG-Desktop/html/awt.html#gdaao "表示我应该改为"Window.setFocusableWindowState(false)"这个GUI有问题但是我还没有完全相信Java会重新关注焦点

2)使用JNI在Java程序中进行低级X调用.我认为这可能会奏效,但是,我从来没有玩过低级别的X.我不确定我应该使用什么叫(XtSetKeyboardFocus()应该是危险的...)或者我如何识别我正在操作的GUI(在这方面fvwm很好,因为他们有一个GUI,允许你点击另一个GUI,找出它的"名称"和"类")

3)使用"更强大"的窗口管理器.一些不使用ICCCM的窗口管理器可能能够更好地处理Java.当然,有太多的经理人,我不知道该集中精力.同样,很多人似乎都缺乏通过app指定焦点(大多数似乎只关心广泛的政策).

java linux keyboard window-managers focus

9
推荐指数
1
解决办法
1999
查看次数